8

Kimlik doğrulama için Azure Active Directory'yi kullanarak Dynamics CRM Online uygulamasında iletişim kuran bir Windows Mağazası uygulaması geliştiriyorum.Azure Active Directory oturumu kapatma (kalıcı kalıcı simge)

uygulama Bu CRM 2013 SDK örneği kullanır: SampleCode\CS\ModernAndMobileApps\ModernSoapApp

ve doğrulama için bu Nuget ambalaja ilişkindir:

Doğru kimlik am güçlü Microsoft.Preview.WindowsAzure.ActiveDirectory.Authentication

, ana hat şudur: o

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

sorun bir çıkış işlevsellik eklemek gerektiğini ve ben kurtulmak olamaz Kalıcı belirteç.

Ben şu satırla bir logout yapmaya çalıştım:

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

ama tekrar AcquireTokenAsync yöntemi yerine kimlik bilgilerini girmek için sayfayı göstermesini çağırdığınızda uygulama kendisi tarafından geçerli bir jetonu almak edebiliyor.

Tam oturum kapatma işlemini gerçekleştirmek için neler kaçırıyorum?

+0

Bunu nasıl çözdünüz? WPF uygulamasıyla ilgili sorun yaşıyorum, açılır pencerede "Beni Hatırla" seçeneğini işaretlediğimde ve oturum açtığımda, çıkış yapamıyorum. – Dabbas

+0

bir geçici çözüm, yanlış bir parola ile kimlik doğrulaması başka bir kez zorlamak için, normalde –

cevap

15

sen de STS dışına kullanıcıyı imzalamak bir çıkış isteği istiyorsanız:? https://login.windows.net/ {tenantid veya "ortak"}/OAuth2/çıkış post_logout_redirect_uri = {URL}. URL'nin, AAD'da uygulamanızla kayıtlı bir yanıt URL'si olması gerekir.

Yerel kimlik önbelleğini temizliyorsunuz. STS çerezi nedeniyle sessiz auth oluyor olabilir (AcquireTokenAsync'i tekrar çağırdığınızda Fiddler'ın izi nedir)?

Bu yardımcı olur umarım.

+1

belirteci sıfırlar ve ben url 'https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri= 'gibi görünüyor bu URL'yi çıkış için çağırmak için bir C# örneğiniz var mı? –

+1

Evet, yukarıdaki düzeltmeyi yaptık. Hala SO editörünün şeyleri açısal parantezler arasında sakladığı gerçeğine alışmaya başladım. Elimde bir C# örneği yok. Bir tane bakmama izin ver. –

+0

WTF Bunun için her yerde MSDN'de arandığım:/ –