Laravel, Angular 7, JWT для хранения печенья - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть требование для реализации аутентификации JWT в приложении, и я пытаюсь снизить как можно больше рисков, используя хранилище cookie (httpOnly) вместо localStorage.

Сервер Laravel настроен как API, а не обслуживает приложение Angular 7.Ответ контроллера входа со следующим:

return response()->json($user)->cookie('access_token', $token, 15, '/', true, true);

Я вижу cookie (token = blahblahblah) в моем ответе после запроса POST на URL входа в систему.Я установил withCredentials: true во всех запросах после входа в систему.Возможно, я дико неправильно понимаю это, но я хочу, чтобы этот куки отправлялся вместе с каждым последующим запросом для аутентификации моего теперь вошедшего в систему пользователя.Мое промежуточное программное обеспечение в Laravel ищет $request->cookie('access_token'), которое всегда пусто.

Этого вообще можно достичь?

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете использовать HttpInterceptor и отправить свой токен в заголовке «Авторизация», он будет выполняться при каждом запросе.

https://angular.io/api/common/http/HttpInterceptor

export class JwtInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// Clone the request to add the new header
const clonedRequest = req.clone({ headers: req.headers.set('Authorization', 'YOUR_TOKEN') });

// Pass the cloned request instead of the original request to the next handle
return next.handle(clonedRequest);
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...