Поток аутентификации в Vue.JS + REST api

Поток аутентификации в Vue.JS + REST api

05.01.2020 09:54:04 Просмотров 47 Источник

Я строю проект с Ву Кли и Адонисом.JS. Фронтэнд будет только с Vue.JS и серверной части будет только предоставить API-интерфейса REST. Я собираюсь использовать jwt для аутентификации. Проблема в том, что я не понимаю потока аутентификации с помощью jwt. Я недавно перешел из Laravel в adonis, поэтому у меня мало знаний в Vue + Ajax + REST api. Вот мои вопросы:

  1. Нужно ли отправлять токен в каждом запросе Ajax?

  2. Как получить текущего пользователя, связанного с данным токеном jwt?

  3. Что такое refreshToken?

Достаточно будет предоставить ссылку на подробное руководство.

У вопроса есть решение - Посмотреть?

Ответы - Поток аутентификации в Vue.JS + REST api / Authentication flow in Vue.js + REST api

ljcordero

05.01.2020 10:01:46

  1. Нужно ли отправлять токен в каждом запросе Ajax?

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

  1. Как получить текущего пользователя, связанного с данным токеном jwt?

JWT имеет свойство» sub", в котором можно, например, сохранить идентификатор пользователя.

  1. Что такое refreshToken?

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

Вот руководство с nodejs: https://www.codementor.io/@olatundegaruba/5-steps-to-authenticating-node-js-with-jwt-7ahb5dmyr

https://stackoverflow.com/questions/59603160/authentication-flow-in-vue-js-rest-api/59603216#comment105370573_59603216
Текущий пользователь - > это токен JWT с AdonisJS : > jwt.io/... Поле uid представляет идентификатор пользователя
https://stackoverflow.com/questions/59603160/authentication-flow-in-vue-js-rest-api/59603216#comment105370584_59603216
Спасибо за ваш добрый ответ. Я хочу, чтобы в Адонисе все это делалось правильно.
Является ответом!
CrBast

05.01.2020 11:01:42

Чтобы завершить @ljcordero

Сторона Адониса:

Вы можете получить пользователя с auth

Полная документация async example ({ auth, request }) { const user = await auth.getUser() ... } .

Сторона VueJS:

Токен, созданный Адонисом, содержит поле auth. Он представляет собой идентификатор пользователя.

Вот вам пример токена:

enter image description here

Помочь в развитии проекта:
Закрыть X