登出並立即嘗試重新登入時出現以下錯誤。只有關閉瀏覽器似乎才能解決該問題。所以我假設這是某種快取問題,但我似乎無法找到解決方法。
這是我目前使用的登入程式碼:
async signIn() { // console.log(this.appMSALObj) var _this = this; await this.appMSALObj.loginPopup(settings.loginRequest) .then(function(response) { //console.log("authService: login complete") _this.selectAccount(); //console.log(_this.account) _this.router.navigate(['/home']) }) .catch(error => { console.error(error); }); }
它永遠不會進入 selectAccount 函數。
msalConfig 設定為使用 localStorage,且 storeAuthStateInCookie 標誌為 false。
P粉0662240862024-03-28 10:37:10
回答有點晚了,但我會嘗試一下。
根據docs 當第一個操作尚未完成而第二個操作被觸發時,就會發生這種情況。例如:
loginPopup(); acquireTokenPopup();
在這種情況下,會發生 interaction_in_progress
。
您可以透過等待以下操作輕鬆防止這種情況:
await msalInstance.loginPopup(); await msalInstance.acquireTokenPopup();
在某些情況下,這並不能解決問題。
就我而言,缺少 <app-redirect></app-redirect>
也可能導致此錯誤。它必須放在您的 index.html
中:
值得注意的有趣的事情:如果您對app-routing.module.ts
中提到的每個路由強制登錄,即使您不使用<app-redirect>< ;/app-redirect>
,它仍然可以正常工作而不會出現錯誤