8

Sto sviluppando un'applicazione di Windows Store che comunica con Dynamics CRM Online utilizzando Azure Active Directory per l'autenticazione.Logout di Azure Active Directory (cancella token persistente)

L'applicazione utilizza questo CRM 2013 SDK esempio: SampleCode\CS\ModernAndMobileApps\ModernSoapApp

e si riferisce a questo pacchetto NuGet per l'autenticazione:

Microsoft.Preview.WindowsAzure.ActiveDirectory.Authentication

Sono in grado di autenticare in modo corretto, la linea principale è questo:

AuthenticationResult result = await _authenticationContext.AcquireTokenAsync("Microsoft.CRM", ClientID, redirectUrl, string.Empty, string.Empty); 

Il problema è che ho bisogno di aggiungere una funzionalità di disconnessione e non riesco a liberarmi o f il gettone persistente.

tentato di eseguire una disconnessione con la seguente riga:

(AuthenticationContext.TokenCache as DefaultTokenCache).Clear(); 

ma l'applicazione è possibile ottenere un gettone valido per sé quando chiamo nuovamente il metodo AcquireTokenAsync invece mostra la pagina per l'immissione delle credenziali.

Cosa mi manca per eseguire un logout completo?

+0

Come hai risolto questo? Ho problemi con l'app WPF, quando ho selezionato "Remember Me" nella finestra popup e accesso, non riesco ad uscire. – Dabbas

+0

una soluzione è forzare un'altra volta l'autenticazione con una password errata, normalmente reimposta il token –

risposta

15

Se si desidera firmare l'utente anche dal STS, inviare una richiesta di logout: https://login.windows.net/ {tenantid o "common"}/oauth2/logout? Post_logout_redirect_uri = {URL}. L'URL deve essere un url di risposta registrato con la tua app in AAD.

Si sta cancellando la cache delle credenziali locali. L'autenticazione silenziosa potrebbe verificarsi a causa del cookie STS (cosa rileva Fiddler quando si chiama di nuovo AcquireTokenAsync)?

Spero che questo aiuti.

+1

I google e sembra che l'url sia 'https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri= ' hai un esempio in C# per chiamare questo url per il logout? –

+1

Sì ha effettuato la correzione sopra. Mi sto ancora abituando al fatto che l'editor SO nasconda le cose tra parentesi angolari. Non ho un esempio C# a portata di mano. Fammi cercare uno. –

+0

WTF Ho cercato tutto questo su MSDN:/ –

Problemi correlati