4
votes

Erreur: AADSTS50058: Une demande de connexion silencieuse a été envoyée mais aucun utilisateur n'est connecté - Problème d'authentification Angular ADAL dans le navigateur Safari mobile

Nous avons un site développé à l'aide d'Angular 7 et il utilise la bibliothèque Adal-Angular4 pour l'authentification Azure Active Directoty. Lorsque le site est parcouru en safari sur iPhone, il se heurte à l'erreur ci-dessous.

Error: AADSTS50058: A silent sign-in request was sent but no user is signed in. The cookies used to represent the user's session were not sent in the request to Azure AD. This can happen if the user is using Internet Explorer or Edge, and the web app sending the silent sign-in request is in different IE security zone than the Azure AD endpoint (login.microsoftonline.com).

Lorsque l'option Empêcher les scripts intersites du navigateur Safari est désactivée, l'authentification se déroule correctement. Nous avons également observé que dans le navigateur Chrome sur l'un des téléphones Samsung Galaxy S8 +, ce problème se produit. Toute idée de la raison exacte de ce problème et des moyens d'y remédier.


0 commentaires

4 Réponses :


6
votes

Raison: l'erreur se produit car une connexion silencieuse est envoyée au point de terminaison login.microsoftonline.com, mais le cookie AAD SSO n'est pas détecté. Ce cookie détermine si l'utilisateur est connecté ou non. La connexion silencieuse est uniquement destinée à être utilisée si l'utilisateur est déjà connu pour être connecté ou s'il dispose d'un jeton d'actualisation à échanger contre un nouveau jeton d'accès.

Solution possible n ° 1 Vérifier de manière proactive l'expiration Vous pouvez tenter d'empêcher cette erreur de se produire en vérifiant si vous disposez d'un jeton d'identification valide. Si votre jeton d'identification n'est pas valide, vous demanderez à l'utilisateur de se reconnecter.

Résolution possible n ° 2 Attraper l'erreur et demander à l'utilisateur de se reconnecter Pour résoudre cette erreur, vous devrez intercepter cette erreur dans un rappel que vous pouvez transmettre à la fonction acquiretoken ADAL JS. Si l'erreur AADSTS50058 se produit, vous demanderez à l'utilisateur de se reconnecter.

Résolution possible n ° 3 Bloqueurs de cookies d'extension de navigateur et cookies tiers désactivés Certains utilisateurs peuvent rencontrer ce problème en raison d'une extension de navigateur qui bloque les cookies à des fins de suivi. Cette erreur AADSTS50058 se produira, vous devrez ajouter le point de terminaison login.microsoftonline.com à la liste blanche dans l'extension de votre navigateur afin d'éviter de recevoir à nouveau cette erreur.

Cette erreur peut également se produire si les cookies tiers ont été désactivés dans votre navigateur. Réactivez les cookies tiers dans votre navigateur pour éviter que cette erreur ne se produise.

Veuillez consulter ce lien


1 commentaires

Merci @ Raghavendra- MSFT Identity, nous avons réussi à le faire fonctionner en suivant la résolution n ° 2 que vous avez suggérée ci-dessus.



0
votes

En plus de ce que "Raghavendra- MSFT Identity" a mentionné dans sa réponse (résolution possible n ° 2), nous avons réussi à le faire fonctionner en détectant l'erreur de l'appel acquitToken, puis en acquérant le jeton en utilisant l'appel acquitTokenRedirect. Il ajoute une autre redirection mais fait le travail. Veuillez noter qu'avec ADAL ou MSAL v1, c'est la seule option que j'ai trouvée dans les recherches que je pourrais faire. Le package MSAL v2 ie @ azure / msal-browser spécifiquement basé sur OAuth 2.0 Authorization Code Flow avec PKCE élimine tout besoin de cookies tiers et peut être une option appropriée; cependant, il est actuellement en version bêta, il faudrait donc un peu plus de temps avant de pouvoir l'utiliser pour le code de production.


0 commentaires

5
votes

J'ai rencontré ce problème lors de l'accès à mon application angulaire via le navigateur Chrome en mode navigation privée. Par défaut, il désactive les cookies tiers avec une bascule sur la page d'accueil. Je l'ai juste désactivé et n'ai plus fait face à l'erreur.

Désactiver l'option


2 commentaires

Apparemment, cela a été introduit dans Chrome 83 en mai 2020. Je ne l'ai même pas remarqué jusqu'à ce que cela ait cassé mes tests en mode incognito aujourd'hui.


Oh! Cela a commencé à arriver à mon équipe il y a peu de temps. Ça a du sens, c'est quelque chose de nouveau,



0
votes

Assurez-vous que vous n'êtes pas en mode navigation privée.


0 commentaires