Как отправить токен JWT на jQuery в Laravel - PullRequest
0 голосов
/ 25 февраля 2020

Когда пользователь нажимает кнопку входа в систему, я перенаправляю на usercontroller. php и получаю токен jwt из API.

$result = $this->obtainAccessToken($request->email, $request->password);

затем я помещаю токен JWT и информацию о пользователе в сессию.

Session::put('user', $result);

, затем перенаправляю пользователя на домашнюю страницу.

return redirect(route('home'));

Все в порядке.

Я могу получить доступ к данным токена и информации о пользователях на страницах просмотра (блейд), используя

Session::get('user');

Но иногда мне нужно запросить jQuery ajax на сервере. Но у меня нет информации о токене в моих js файлах. Как я могу отправить эту информацию токена, которая хранится в сеансе, в js файлах?

Также я пытался сохранить эту информацию в Cook ie как;

Cookie::queue('user', $result, 10);

Но я не мог Доступ к jQuery с использованием;

$.Cookie('user');

возвращает неопределенное значение.

ОБНОВЛЕНИЕ

Я нашел способ, подобный этому;

<meta name="token" content="{{ Session::get('user')->token }} />

и доступ с использованием jQuery

$('meta[name=token]').attr('content);

но это безопасный метод?


1 Ответ

1 голос
/ 25 февраля 2020
but is it safe method?

Да, это так. Это обычный способ, который вы также выбрали бы, если бы вы выполняли запрос ajax на вашем API.

Единственное, что может произойти, это то, что API возвращает код ошибки 219 (сеанс истек), когда токен неверен.

Приветствия,

Никлас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...