身份验证后如何在SPA(反应)应用程序中管理(存储)JWT以处理后续请求

时间:2019-04-02 19:32:23

标签: reactjs jwt identityserver4

我有一个ASP.NET CORE API解决方案,并且我希望多个客户端(SPA,mobil,MVC)可以从该API中使用。我打算使用IdentityServer4通过JWT保护API。我的问题是,如果客户端是React应用程序,则在成功认证后将令牌存储在哪里?

3 个答案:

答案 0 :(得分:0)

通常,JWT存储在localStorage中,并在需要时从那里检索。

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

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

一种好的做法是在Redux状态下拥有一个副本,并且仅在状态重置时检查localStorage

答案 1 :(得分:0)

有几种存储在客户端上的选项 1)饼干 2)本地存储 3)React状态(例如Redux)

答案 2 :(得分:0)

您可以使用名为redux-react-session的优质软件包,该软件包可将jwt存储在'INDEXEDDB', 'WEBSQL', 'LOCALSTORAGE' or 'COOKIES'中。

您可以根据自己的需要和约束条件选择合适的位置。