Как управлять (хранить) JWT в приложении SPA (реагировать) для обработки последующего запроса после аутентификации - PullRequest
1 голос
/ 02 апреля 2019

У меня есть решение ASP.NET CORE API, и я хочу, чтобы несколько клиентов (SPA, mobil, MVC) могли использовать этот API. Я намеревался использовать IdentityServer4 для защиты API с помощью JWT. У меня вопрос, где хранить токен после успешной аутентификации, если клиент является приложением React?

Ответы [ 3 ]

0 голосов
/ 02 апреля 2019

есть несколько вариантов для хранения на клиенте 1) печенье 2) Локальное хранилище 3) Состояние реакции (например, Redux)

0 голосов
/ 03 апреля 2019

Вы можете использовать отличный пакет под названием redux-реакции-сессия , который позволяет хранить ваши jwt в 'INDEXEDDB', 'WEBSQL', 'LOCALSTORAGE' or 'COOKIES'.

Вы можете выбрать подходящее место в зависимости от ваших потребностейи ограничения.

0 голосов
/ 02 апреля 2019

Обычно JWT хранится в localStorage и извлекается оттуда при необходимости.

const storeToken = token =>{
    localStorage.setItem('jwt', token)
}

const retrieveToken = () => {
    const token = localStorage.getItem('jwt')
    return token
}

Хорошей практикой также будет иметь копию в вашем состоянии Redux, и проверять localStorage только когда вы устанавливаете сброс

...