Angular 13 – BrowserAuthError: interaction_in_progress: Es wurde eine laufende Interaktion erkannt
P粉176203781
P粉176203781 2024-03-27 13:57:20
0
1
456

Ich habe beim Abmelden und beim sofortigen Versuch, mich wieder anzumelden, die folgende Fehlermeldung erhalten. Nur das Schließen des Browsers scheint das Problem zu lösen. Ich gehe also davon aus, dass es sich hierbei um eine Art Caching-Problem handelt, aber ich kann anscheinend keinen Weg finden, es zu umgehen.

Dies ist der Login-Code, den ich derzeit verwende:

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);
      });
  }

Die Funktion „selectAccount“ wird nie aufgerufen.

msalConfig ist auf die Verwendung von localStorage eingestellt und das StoreAuthStateInCookie-Flag ist falsch.

P粉176203781
P粉176203781

Antworte allen(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></app-redirect> ,它仍然可以正常工作而不会出现错误

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage