我有一个ASP.NET CORE API解决方案,并且我希望多个客户端(SPA,mobil,MVC)可以从该API中使用。我打算使用IdentityServer4通过JWT保护API。我的问题是,如果客户端是React应用程序,则在成功认证后将令牌存储在哪里?
答案 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'
中。
您可以根据自己的需要和约束条件选择合适的位置。