Angular 13 - BrowserAuthError:interaction_in_progress:偵測到正在進行的交互
P粉176203781
P粉176203781 2024-03-27 13:57:20
0
1
465

登出並立即嘗試重新登入時出現以下錯誤。只有關閉瀏覽器似乎才能解決該問題。所以我假設這是某種快取問題,但我似乎無法找到解決方法。

這是我目前使用的登入程式碼:

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粉176203781
P粉176203781

全部回覆(1)
P粉066224086

回答有點晚了,但我會嘗試一下。

根據docs 當第一個操作尚未完成而第二個操作被觸發時,就會發生這種情況。例如:

loginPopup();
acquireTokenPopup();

在這種情況下,會發生 interaction_in_progress 。 您可以透過等待以下操作輕鬆防止這種情況:

await msalInstance.loginPopup();
await msalInstance.acquireTokenPopup();

在某些情況下,這並不能解決問題。 就我而言,缺少 <app-redirect></app-redirect> 也可能導致此錯誤。它必須放在您的 index.html 中:

  
  

值得注意的有趣的事情:如果您對app-routing.module.ts 中提到的每個路由強制登錄,即使您不使用<app-redirect>&lt ;/app-redirect> ,它仍然可以正常工作而不會出現錯誤

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板