Maison  >  Questions et réponses  >  le corps du texte

Angular 13 - BrowserAuthError : interaction_in_progress : interaction en cours détectée

J'ai eu l'erreur suivante lorsque je me suis déconnecté et que j'ai immédiatement essayé de me reconnecter. Seule la fermeture du navigateur semble résoudre le problème. Je suppose donc qu'il s'agit d'une sorte de problème de mise en cache, mais je n'arrive pas à trouver un moyen de le contourner.

Voici le code de connexion que j'utilise actuellement :

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

Il n'entre jamais dans la fonction selectAccount.

msalConfig est configuré pour utiliser localStorage et l'indicateur storeAuthStateInCookie est faux.

P粉176203781P粉176203781206 Il y a quelques jours398

répondre à tous(1)je répondrai

  • P粉066224086

    P粉0662240862024-03-28 10:37:10

    Un peu tard pour répondre, mais je vais essayer.

    Selon docs Cela se produit lorsque la première opération n'est pas encore terminée et que la deuxième opération est déclenchée. Par exemple :

    loginPopup();
    acquireTokenPopup();

    Dans ce cas, interaction_in_progress arrivera. Vous pouvez facilement éviter cela en attendant :

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

    Dans certains cas, cela ne résout pas le problème. Dans mon cas, il manque <app-redirect></app-redirect> 也可能导致此错误。它必须放在您的 index.html dans :

    
      
      
    

    Chose amusante à noter : si vous changez app-routing.module.ts 中提到的每个路由强制登录,即使您不使用 <app-redirect></app-redirect>, cela fonctionne toujours sans erreur

    répondre
    0
  • Annulerrépondre