3

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 库

4

1 回答 1

3

作为一种解决方法,我们发现在创建 UserAgentApplication 之前实例化 Msal.Storage 单例,将使用本地存储。这是因为在实例化 UserAgenApplication 时 Msal.Storage 是固定配置的会话存储。因此,随后调用 client.cacheLocation = "localStorage" 不起作用,因为已经创建了 Msal.Storage。

 ...
 new Msal.Storage("localStorage");

 var client = new Msal.UserAgentApplication(config.aadClientId, config.aadAuthority, ...);
 ...
于 2017-05-23T11:32:32.257 回答