хороший подход для интеграции токена jwt auth / refre sh с реагирующим приложением? - PullRequest
0 голосов
/ 31 марта 2020

Ll Я нашел этот видео YouTube, который предоставляет хорошее введение в токены авторизации JWT и refre sh токены:

https://youtu.be/mbsmsi7l3r4

Теперь я пытаюсь интегрировать этот дизайн с приложением React. Я могу сохранить JWT в контексте моего приложения, а затем передать его конечным точкам API. Каждая конечная точка будет включать в себя хук аутентификации для проверки подлинности с помощью предоставленного токена.

  1. Я думаю, что хук аутентификации может генерировать и возвращать токен refre sh, если исходный токен аутентификации в течение 10 секунд после истечения срока действия

  2. Но при таком подходе ^^^, мне кажется, что мне, возможно, потребуется вернуть токен auth или refre sh как часть конечной точки API объект ответа, так что мое приложение React будет иметь возможность легко получить дескриптор этого токена refre sh и передать его следующему вызову конечной точки API

Так что я просто пытаюсь постулировать возможный дизайн для интеграции JWT между моим приложением React и Express API. Насколько распространен подход, который я описал? Есть ли лучший или более элегантный способ сделать это?

1 Ответ

0 голосов
/ 31 марта 2020

Когда ваш токен доступа истек, refre sh токен используется для получения новой копии токена доступа. Оба должны быть сохранены как-то на стороне клиента. Вы можете найти полезную информацию здесь от Auth0.

Обратите внимание, что токен refre sh можно реализовать в нескольких формах. Обращайтесь к этому SO вопросу .

Мой рабочий процесс JWT выглядит примерно так:

  1. Получить токен refre sh и токен доступа с сервера авторизации
  2. Использовать токен доступа для доступа к ресурсам с сервера ресурсов.
  3. Срок действия токена истек, сервер ресурсов отказал в доступе и возвратил что-то вроде unauthorized status
  4. Приложение уведомлено о токене с истекшим сроком действия, продолжить использовать refre sh токен для получения нового токена доступа с сервера авторизации
  5. Repeat

Ваш сервер аутентификации и сервер ресурсов могут совпадать.

Чтение это от Auth0 полностью.

...