2017-10-03 8 views
0

Lorsque je clique sur le bouton de fermeture de session sur mon application web hébergé sur Azure, je suis déconnecté et pris à la page suivante:Comment ignorer la page de connexion par défaut lors de la déconnexion d'Azure AD?

enter image description here (Image 1)

Il me redirige vers la page par défaut signout Azure (que je ne veux pas voir):

enter image description here (image 2)

Chaque fois que je clique sur « retour sur le site » il me ramène à mon application (sans vous connecter d'abord), mais il montre pas de données dans mon datatable, ce qui signifie que je suis déconnecté (dans lequel ca Je ne veux pas montrer l'application web en premier lieu).

Lorsque j'actualise manuellement la page, il s'avère en effet que j'ai été déconnecté, en me redirigeant vers la page de connexion Azure AD. Donc ma question est: comment puis-je ignorer la page de connexion Azure par défaut avec le lien «retour au site Web» (image 2) et passer directement du bouton de déconnexion de mon application Web à la page de connexion Azure AD?

Répondre

0

Normalement, Azure AD redirigera vers la page que vous lui indiquez. Lorsque nous envoyons une demande de déconnexion en utilisant le protocole de connexion OpenId, nous devons passer le paramètre post_logout_redirect_uri, veuillez vérifier si ce paramètre est transmis correctement. Par exemple, nous transmettrons la page par défaut de l'application Web pour la demande de déconnexion.

Plus de détails sur la connexion avec Azure AD, s'il vous plaît se référer le lien ci-dessous:

Send a sign-out request

+0

Merci pour votre réponse! Le support de Microsoft a mentionné que le code 'post_logout_redirect_uri' ne fonctionnera que si nous contrôlons tout le flux de déconnexion avec OWIN. Nous avons activé l'authentification via le service Azure App, qui est géré par le service backend qui injecte l'authentification dans l'environnement d'exécution Web App. Le fait de cliquer sur le lien "retour au site Web" a semblé déclencher une requête get que j'ai implémentée dans le hook de cycle de vie "monté" de l'application Vue. J'ai enlevé cette demande d'obtention, et maintenant il semble fonctionner très au hasard. Parfois, il demande à ré-authentifier le lien, d'autres fois non. – Jaakko

+0

Dans Safari, il fonctionne parfaitement, dans Chrome, il ne fonctionne que la première fois, après quoi il ne demande pas de s'authentifier de nouveau en cliquant sur le lien «retour au site Web», seulement lors d'une actualisation manuelle. – Jaakko

0

La question semblait avoir à voir avec la mise en cache. '/.auth/logout' efface les cookies mais pas le cache. Je l'ai résolu en laissant le client sait que l'application n'est pas cachable en ajustant les en-têtes de cache:

Dans le fichier web.config ajouter à la system.webServer-tag:

<staticContent> 
    <clientCache cacheControlMode="DisableCache" /> 
</staticContent> 

Cela pourrait ne pas être la solution optimale chaque fois que vous favorisez la mise en cache, mais dans mon cas ce n'est pas trop grand d'un compromis.