3

Parfois, j'obtiens l'erreur AADSTS50058 lors de l'appel de l'API Azure Active Directory Graph d'Angular.AADSTS50058 lors de l'appel AAD provoque des boucles d'actualisation

ma configuration:

  • Adal-angulaire 1.0.13
  • v1.5.8 angulaire
  • google chrome sans drapeau sur 'Bloquer les cookies 3ème partie'
  • essayé avec le drapeau KMSI sur
  • aucune extension qui bloque les cookies sur Chrome (la plus récente)
  • mise à jour: package route "route-angulaire"

Voici le code:

var my_endpoints = { 
    'https ://graph.windows.net/': 'https ://graph.windows.net/' 
}; 

adalProvider.init({ 
    instance: 'https ://login.microsoftonline.com/', 
    tenant: "common", 
    clientId: '[my-client-ID-here]', 
    extraQueryParameter: 'nux=1', 
    cacheLocation: 'sessionStorage', 
    endpoints: my_endpoints 
}, $httpProvider); 

N.B. .: liens https sont sans espace, je mis cela à cause de stackoverflow. Erreur AADSTS50058: Une demande de connexion silencieuse a été envoyée mais aucun utilisateur n'est connecté. Les cookies utilisés pour représenter la session de l'utilisateur n'ont pas été envoyés dans la demande à Azure AD. . Cela peut se produire si l'utilisateur utilise Internet Explorer ou Edge et que l'application Web qui envoie la demande de connexion silencieuse se trouve dans une zone de sécurité IE différente de celle du point de terminaison Azure AD (login.microsoftonline.com).

essayé de déconnecter et reconnectez-vous, mais sans succès

la chose bizarre je ne peux pas comprendre que cela fonctionne souvent, il pose parfois cette erreur, en gardant la page dans la boucle de rechargement. Si j'efface les appels AAD, cela fonctionne comme prévu.

est-ce parce que je dois gérer 2 jetons, un avec l'API et un avec AAD GraphAPI?

Si oui, comment puis-je gérer cela?

toute aide est très appréciée

+0

Je ne sais pas si vous pouvez résoudre ce problème. J'ai rencontré cela dans le portail Azure lors de la redirection vers Application Insights Analytics. La raison en était que corp IT avait configuré login.microsoftonline.com en tant que site de confiance dans Internet Explorer, et que le site AppInsights ne l'était pas. Cela empêche apparemment IE d'autoriser l'authentification silencieuse. Ma solution sur mon PC était d'ajouter l'autre site à la liste des sites de confiance. – RasmusW

Répondre

0

je pense que j'ai trouvé la question; dans Google Chrome, dans un stress-test, immédiatement après la connexion, j'ai mis le pop-up "Enregistrer le mot de passe" pop-up à "Jamais" lorsque le navigateur m'a demandé; dans les navigateurs canari et autres, où j'ai mis "Enregistrer" ou simplement ignoré, le problème n'est jamais apparu.

semble que le problème a été résolu après avoir effacé la liste de mots de passe "jamais enregistré". Case à cocher "Utiliser Smart Lock pour les mots de passe pour mémoriser les mots de passe des applications et des sites" ou "Proposer de sauvegarder vos mots de passe Web" n'est pas pertinent, testé et vérifié.

merci!

2

Selon votre description, il semble que vous êtes face à un problème de boucle infinie au hasard. Plusieurs raisons peuvent soulever ce problème.

D'abord, vous pouvez vérifier si vous utilisez ui-router, si c'est le cas, vérifiez si vous avez défini la définition de la scène pour la page racine "/". Ajoutez ceci à votre routage fournisseur d'état:

$stateProvider.state("/", { 
     url: "/", 
     templateUrl: "<could be home page or default page>", 
     requireADLogin: true, 
    }); 

En outre, il peut y avoir d'autres raisons se produisent cette question, comme création iframe Nested, Hash remis à zéro. Vous pouvez vous référer à https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/FAQs#q2-my-app-gets-into-an-infinite-loop-sometimes-leading-to-digest-iterations-error pour plus d'informations.

En outre, vous pouvez ajouter le code ci-dessous à app.js pour activer la journalisation. Implémentez la méthode du journal en fonction de la manière dont vous souhaitez rediriger les journaux.

Logging = { 
    level: 3, 
    log: function (message) { 
     console.log(message); 
    } 
}; 

En outre, vous pouvez voir toutes les informations, y compris description de l'erreur dans le stockage de seesion exploitant Chrome Outils de développement:

enter image description here