@unfapable

Как работает CORS и JWT в Laravel?

Здесь уже был подобный, но не было дано подробного ответа. И мой вопрос немного не о том.

Интересует вот что: при авторизации пользователя ему даётся токен, а где он потом сохраняется? В смысле при повторном заходе на сайт мне уже не требует авторизации, но при этом в куках ничего нет. И ещё зачем каждый раз отправляется запрос типа OPTIONS? Как я понимаю он нужен чтобы получить токен, но откуда он его получает, где хранится токен?

Я делаю API и хочу дать возможность внешним ресурсам (с других доменов) обращаться к нему. Но столкнулся с тем, а как после авторизации, получить токен? Заголовок Authorization появляется только после запроса типа OPTIONS, непонятно как и где хранится токен, как он определяется, ведь он всегда остаётся таким же, получается где-то в кеше хранится?

Очень буду благодарен, если мне кто-нибудь поможет. Документацию читал, но как я уже писал, неясно в итоге как получить токен уже авторизованного пользователя.
  • Вопрос задан
  • 1858 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Интересует вот что: при авторизации пользователя ему даётся токен, а где он потом сохраняется?


на клиенте где-нибудь. Серверу об этом париться не стоит, он его не хранит. Ну то есть вам пришел JWT токен - значит надо проверить подпись. Подпись валидна - токен валиден.

В смысле при повторном заходе на сайт мне уже не требует авторизации, но при этом в куках ничего нет.


не авторизация а аутентификация. Ну и возможно токен передается в заголовках (обычно так во всяком случае).

И ещё зачем каждый раз отправляется запрос типа OPTIONS?


Это уже относится к CORS и называется freflight request. Перед каждым запросом ваш браузер спрашивает сервак "а что я могу по этому урлу делать?". Ну и сервер возвращает на основе вашего хоста и т.д.

Обычно options запросы не требуют аутентификации. Ну и как минимум в ишус трекере либы для jwt кто-нибудь 100% задавал вопросы о том как подружить либу и cors.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы