UserAgentApplication.localCache =“localStorage”无效。
重现的步骤:
var client = new Msal.UserAgentApplication(config.aadClientId, config.aadAuthority...);
client.cacheLocation = "localStorage";
client.loginPopup().then( ... );
结果: MSAL令牌存储在会话存储中。 (Chrome开发者工具)
预期: 代币应该在本地存储。
我通过https://secure.aadcdn.microsoftonline-p.com/lib/0.1.1/js/msal.min.js
使用msal 0.1.1 javascript库答案 0 :(得分:1)
作为一种解决方法,我们发现在创建UserAgentApplication之前实例化Msal.Storage singelton,将使用本地存储。这是因为在实例化UserAgenApplication时,Msal.Storage是固定配置的会话存储。因此后续调用client.cacheLocation =" localStorage"由于已经创建了Msal.Storage,因此无法正常工作。
...
new Msal.Storage("localStorage");
var client = new Msal.UserAgentApplication(config.aadClientId, config.aadAuthority, ...);
...