2017-05-22 2 views
1

UserAgentApplication.localCache = "localStorage" funktioniert nicht.MSAL UserAgentApplication: Lokaler Speicher funktioniert nicht

Schritte zum Reproduzieren:

var client = new Msal.UserAgentApplication(config.aadClientId, config.aadAuthority...); 

client.cacheLocation = "localStorage"; 

client.loginPopup().then(...); 

Ergebnis: Die MSAL Token in Sitzungsspeicher gespeichert sind. (Chrome-Entwicklungstools)

Erwartet: Token sollten im lokalen Speicher sein.

Ich bin mit MSAL 0.1.1 JavaScript-Bibliothek über https://secure.aadcdn.microsoftonline-p.com/lib/0.1.1/js/msal.min.js

Antwort

1

Als Abhilfe können wir herausgefunden, dass die Msal.Storage Singelton Instanziierung vor dem UserAgentApplication erstellen, wird der lokale Speicher verwendet werden. Dies liegt daran, dass die Msal.Storage beim Instanziieren der UserAgenApplication fest mit dem Sitzungsspeicher konfiguriert ist. Der nachfolgende Aufruf von client.cacheLocation = "localStorage" funktioniert daher nicht, da Msal.Storage bereits erstellt wurde.

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

var client = new Msal.UserAgentApplication(config.aadClientId, config.aadAuthority, ...); 
... 
+0

Ihre Lösung scheint es zu verwenden lokalen Speicher, yay! Das Problem, mit dem ich konfrontiert bin, ist, dass beim Erstellen der Msal.UserAgentApplication die Daten aus dem lokalen Speicher nicht verwendet werden, um das Benutzerobjekt aufzufüllen. Hast du es geschafft, dieses Problem zu lösen? Verfügen Sie über ein Code-Snippet für die Erstellung der Msal.UserAgentApplication mit den Daten des lokalen Speichers? Extrem schlechte Benutzererfahrung, um sich beim Aktualisieren der Seite erneut anmelden zu müssen. Danke! – Molibar

+0

funktioniert nicht für mich – Andreas

+1

seit 0.1.2 Passing durch Ctor-Parameter wie diese 'var client = neue Msal.UserAgentApplication (config.aadClientId, config.aadAuthority,() => {/ * Rückruf * /}, {cacheLocation: ' localStorage '}); 'sollte den Job machen. Quelle: [microsoft-authentication-library-for-js # 58] (https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/58#issuecommon-333730346) – gaa