Поток аутентификации в Vue. js + REST api - PullRequest
1 голос
/ 05 января 2020

Я строю проект с vue cli и adonis. js. Внешний интерфейс будет только с Vue. js, а внутренний будет предоставлять только REST API. Я собираюсь использовать JWT для аутентификации. Проблема в том, что я не понимаю поток аутентификации с помощью jwt. Я недавно мигрировал с Laravel на adonis, поэтому у меня мало знаний о Vue + Ajax + REST API. Вот мои вопросы:

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

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

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

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

Ответы [ 2 ]

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

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

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

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

Что такое refreshToken?

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

Вот руководство с nodejs: https://www.codementor.io/@olatundegaruba / 5 шагов к аутентификации- node-js -with-jwt-7ahb5dmyr

1 голос
/ 05 января 2020

Для ответа @ljcordero

Adonis side:

Вы можете получить пользователя с auth объектом. Например:

async example ({ auth, request }) {
    const user = await auth.getUser()
    ...
}

Полная документация из auth.

VueJS сторона:

Маркер, созданный Adonis, содержит UID поле. Он представляет идентификатор пользователя.

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

enter image description here

...