msal.js - 保存 MSAL 缓存,即使在重新加载浏览器时也是如此?
问题描述
我对 MSAL 比较陌生,遇到了一个让我非常沮丧的问题。我正在制作的程序是浏览器中的单页应用程序,我遇到的问题是,当您关闭页面并返回时,所有登录信息都会被擦除。
这很可能是它存储在 SessionStorage 中,所以我尝试在配置中执行此操作以将其更改为 LocalStorage(应该保留):
cache: {
CacheLocation: 'localStorage'
},
它没有改变任何事情。我尝试编辑一些 MSAL 代码以使其存储在 localStorage 中,它确实将其保存在 localStorage 中,只是因为它有同样的问题。我还尝试使用以下方法将其保存到 cookie 中:
cache: {
storeAuthStateInCookie:true
},
但它把好东西保存在 LocalStorage 中(那个不起作用),并将我需要的信息放入 cookie 中,如下所示:
虽然,当离开它并重新进入时,饼干被擦掉了。走了!这到底是怎么回事,我只希望我的用户登录并保持登录状态。
有任何想法吗?
解决方案
在您的缓存配置中,您应该设置“cacheLocation”而不是“CacheLocation”。MSAL 配置属性区分大小写,因此您应该具有以下内容:
cache: {
cacheLocation: "localStorage"
}
但是,如果凭据被清除localStorage
,您应该尝试不同的浏览器,以确保这与您的浏览器被配置为在关闭窗口时清除其存储无关。
推荐阅读
- android - EditText 自动用点替换一行中的最后一个字符
- python - 实时动态更新 django 模板
- laravel - 类控制器不存在
- swift - 在请求完成之前执行的完成处理程序
- javascript - 如何在单选按钮上调用欧芹方法
- node.js - mongodb中的树结构,带有用于读取的父子关系
- ruby-on-rails - 如何获取belong_to记录的大小
- c++ - 在 std::unordered_set/std::unordered_map 中 KeyEqual 的用处
- reactjs - 类型错误:rzp.open 不是函数
- polymer - 如何使用聚合物 3.x 中的对象绑定值?