Azure Active Directory logout (clair persistant jeton)
Je développe une application du Windows Store qui communiquent à Dynamics CRM en Ligne en utilisant Azure Active Directory pour l'authentification.
L'application utilise cette CRM 2013 SDK exemple: SampleCode\CS\ModernAndMobileApps\ModernSoapApp
et fait référence à cette nuget package d'authentification:
Microsoft.L'aperçu.WindowsAzure.ActiveDirectory.L'authentification
Je suis en mesure de s'authentifier correctement, la ligne principale est: est-ce
AuthenticationResult result = await _authenticationContext.AcquireTokenAsync("Microsoft.CRM", ClientID, redirectUrl, string.Empty, string.Empty);
Le problème est que j'ai besoin d'ajouter une déconnexion de la fonctionnalité et je ne peut pas se débarrasser de la persistance de jeton.
J'ai essayé de faire une déconnexion avec la ligne suivante:
(AuthenticationContext.TokenCache as DefaultTokenCache).Clear();
mais l'application est en mesure d'obtenir un jeton valide par lui-même quand je l'appelle à nouveau l'AcquireTokenAsync plutôt la méthode en montrant la page de saisie des informations d'identification.
Ce qui me manque pour effectuer une complète déconnexion?
une solution de contournement est de forcer un autre moment de l'authentification avec un mauvais mot de passe, normalement il remet le jeton
OriginalL'auteur Guido Preite | 2014-05-19
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez vous inscrire à l'utilisateur de la STS trop, émettre une requête de fermeture de session:
https://login.windows.net/{tenantid or "common"}/oauth2/logout?post_logout_redirect_uri={URL}
. L'URL doit être une réponse url enregistré avec votre application dans l'AAD.Nettoyer le local cache d'informations d'identification. Silencieux auth peut se produire en raison de la STS cookie (ce qui ne Fiddler trace lorsque vous appelez AcquireTokenAsync de nouveau)?
Espère que ça aide. Double Possible de cette question.
https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri=<returnUrl>
avez-vous un exemple en C# pour appeler cette url pour la déconnexion?Oui fait la correction ci-dessus. Je suis encore à m'habituer au fait que l'éditeur se cache des choses entre angulaire des accolades. Je n'ai pas d'exemple en c# à portée de main. Permettez-moi d'en chercher un.
WTF j'ai été à la recherche partout pour cette sur MSDN :/
Veuillez s'il vous plaît fournir le code C# ou donner plus de détails sur la façon dont vous "émettre une requête de fermeture de session'. Merci.
OriginalL'auteur Dushyant Gill