保存 MSAL 缓存,即使在重新加载浏览器时也是如此?
Save MSAL cache, even when reloading the browser?
我对 MSAL 比较陌生,遇到了一个让我非常沮丧的问题。
我正在制作的程序是浏览器中的单页应用程序,我遇到的问题是当您关闭页面并返回时,所有登录信息都被擦除。
这很可能是它存储在 SessionStorage 中,所以我尝试在配置中这样做以将其更改为 LocalStorage(应该保留):
cache: {
CacheLocation: 'localStorage'
},
它没有改变一件事。我尝试编辑一些 MSAL 代码以使其存储在 localStorage 中,它确实将它保存在 localStorage 中,只是因为它有同样的问题。我也试过使用这个将它保存到 cookies:
cache: {
storeAuthStateInCookie:true
},
但它在 LocalStorage 中保留了好东西(那没用)并将我需要的信息放入 cookie 中,如下所示:
不过,在退出并返回时,cookies 被擦掉了。走了!这到底是怎么回事,我只想让我的用户登录并保持登录状态。
有什么想法吗?
在您的缓存配置中,您应该设置 'cacheLocation' 而不是 'CacheLocation'。 MSAL 配置属性区分大小写,因此您应该具有如下内容:
cache: {
cacheLocation: "localStorage"
}
但是,如果甚至从 localStorage
清除凭据,您应该尝试使用不同的浏览器以确保这与您的浏览器配置为在关闭 window 时清除其存储无关.
我对 MSAL 比较陌生,遇到了一个让我非常沮丧的问题。 我正在制作的程序是浏览器中的单页应用程序,我遇到的问题是当您关闭页面并返回时,所有登录信息都被擦除。
这很可能是它存储在 SessionStorage 中,所以我尝试在配置中这样做以将其更改为 LocalStorage(应该保留):
cache: {
CacheLocation: 'localStorage'
},
它没有改变一件事。我尝试编辑一些 MSAL 代码以使其存储在 localStorage 中,它确实将它保存在 localStorage 中,只是因为它有同样的问题。我也试过使用这个将它保存到 cookies:
cache: {
storeAuthStateInCookie:true
},
但它在 LocalStorage 中保留了好东西(那没用)并将我需要的信息放入 cookie 中,如下所示:
不过,在退出并返回时,cookies 被擦掉了。走了!这到底是怎么回事,我只想让我的用户登录并保持登录状态。
有什么想法吗?
在您的缓存配置中,您应该设置 'cacheLocation' 而不是 'CacheLocation'。 MSAL 配置属性区分大小写,因此您应该具有如下内容:
cache: {
cacheLocation: "localStorage"
}
但是,如果甚至从 localStorage
清除凭据,您应该尝试使用不同的浏览器以确保这与您的浏览器配置为在关闭 window 时清除其存储无关.