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 がセッション ストレージで構成されて固定されるためです。したがって、Msal.Storage が既に作成されているため、client.cacheLocation = "localStorage" の後続の呼び出しは機能しません。

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

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