MSAL UserAgentApplication:本地存储无法正常工作

时间:2017-05-22 13:47:44

标签: msal

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库

1 个答案:

答案 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, ...);
 ...