web-dev-qa-db-fra.com

Boucle de redirection de connexion Azure Active Directory

Je dois autoriser les utilisateurs à se connecter via le réseau Corp pour accéder à une application Web interne.

J'ai suivi toutes les étapes données dans le documentation officielle et cela fonctionne très bien.

Cependant, une erreur étrange que j'obtiens lors de la connexion est que les pages d'authentification entrent dans une boucle de redirection tous les deux jours.

Pour l'instant, la solution immédiate pour moi est de changer le Application/Client ID pour l'application dans mon web.config fichier.

<add key="ClientId" value="Enter_the_Application_Id_here" />
<add key="redirectUri" value="Enter_the_Redirect_URL_here" />
<add key="Tenant" value="common" />
<add key="Authority" value="https://login.microsoftonline.com/{0}/v2.0" />

Donc, à partir de maintenant, j'ai 2 applications différentes créées dans Microsoft Identity Platform et je réutilise le même App Id (en les changeant à chaque fois que l'on cesse de fonctionner) et dès que je change le App Id, la connexion commence à fonctionner.

Je ne sais pas si je manque quelque chose, mais je n'ai rien trouvé de similaire à ce problème, à part quelques-uns comme https://github.com/aspnet/Security/issues/219 qui ne fonctionne pas pour moi. Et d'après ma compréhension et mes suggestions sur Internet, s'il s'agissait d'un problème lié aux autorisations, il ne devrait jamais autoriser la connexion, mais c'est le cas.

18
Cyberpks

Il s'avère que c'était un problème avec la configuration de l'AD.

Je suis allé à mon Azure App Service > Settings > Authentication/Authorization et créé une nouvelle application AD, et utilisé le App ID de ce app dans mon application Web et cela fonctionne maintenant très bien.

7
Cyberpks

Il semble étrange que votre connexion corp soit dans une boucle. est-il possible qu'il aille à votre application, mais si "vite" que vous ne le remarquez pas. Je dis cela parce que j'ai une application web et que j'avais une boucle similaire. et j'ai trouvé que le processus était:

  1. votre application souhaite se connecter,
  2. allez à la connexion corp et faites le processus de connexion,
  3. Pour l'application avec le jeton,
  4. Encore une fois à la connexion corp (toujours pas vraiment pourquoi)
  5. Retour à l'application avec le jeton, puis vous êtes connecté

Mais si vous vérifiez votre connexion bientôt. À l'étape 3, il ne saura pas encore qu'il est connecté, il revient donc à l'étape 1. d'où la boucle.

Si votre séquence de connexion est déclenchée automatiquement au démarrage de l'application, elle pourrait être la même que celle que j'ai reçue.

Salutations Glenn

5
Kiwi