Yêu cầu thg 7 10, 2020 3:31 SA 452 0 3
  • 452 0 3
0

Dùng cookie để authentication pasport laravel ??

Chia sẻ
  • 452 0 3

Hiện tại mỗi lần mình request lên api đều phải add một cái header có Authentication = Bearer token ... cái này cứ phải lập đi lập lại khá khó chịu@@
Mình có add thử token vào cookie và request lên api mình dùng passport để authen nhưng toàn bị trả lỗi 401!
không biết là laravel passport có cơ chế nào authen bằng cookie không ??

3 CÂU TRẢ LỜI


Đã trả lời thg 7 10, 2020 7:15 SA
Đã được chấp nhận
+1

bạn lưu token vào storage hoặc cookie, rồi set global token của axios

ở đây họ cũng có cách giải quyết này https://stackoverflow.com/questions/43051291/attach-authorization-header-for-all-axios-requests

Chia sẻ
Đã trả lời thg 7 10, 2020 3:40 SA
+1

Bạn có thể config để mọi request từ client lên server đều gắn header Authentication. Đỡ bị lặp lại.

Dùng axios:

axios.interceptors.request.use(function (config) {
    const token = store.getState().session.token;
    config.headers.Authorization =  token;

    return config;
});

Nếu ajax:

$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('Authorization', '...');
    }
});
Chia sẻ
Đã trả lời thg 7 10, 2020 3:32 SA
0

Bạn có thể thư viện Guzzle Http http://docs.guzzlephp.org/en/stable/

Chia sẻ
Avatar Tú Trâm @Trungdao
thg 7 10, 2020 3:35 SA

cái này hình như là cho php client?? mình request từ js client nên chắc là k dùng được 😃

Avatar Dương Mạnh Hoàng @duong.manh.hoang
thg 7 10, 2020 3:38 SA

@Trungdao thế bạn có thể dùng axios

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí