8

मैं एक Windows स्टोर अनुप्रयोग है कि प्रमाणीकरण के लिए Azure सक्रिय निर्देशिका का उपयोग डायनेमिक्स सीआरएम ऑनलाइन करने के लिए संवाद के विकास कर रहा हूँ।Azure सक्रिय निर्देशिका लॉगआउट (स्पष्ट लगातार टोकन)

आवेदन इस CRM 2013 एसडीके उदाहरण का उपयोग करता है: SampleCode\CS\ModernAndMobileApps\ModernSoapApp

और प्रमाणन के लिए इस nuget पैकेज को दर्शाता है:

Microsoft.Preview.WindowsAzure.ActiveDirectory.Authentication

मैं सही ढंग से प्रमाणित करने के लिए सक्षम हूँ, मुख्य लाइन यह है:

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

समस्या यह है कि मुझे लॉगआउट कार्यक्षमता जोड़ने की आवश्यकता है और मैं छुटकारा नहीं पा सकता लगातार टोकन एफ।

मैं निम्न पंक्ति के साथ एक लॉगआउट करने की कोशिश की:

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

लेकिन आवेदन जब मैं फोन फिर से AcquireTokenAsync विधि बजाय क्रेडेंशियल्स दर्ज करने के लिए पेज दिखा अपने आप में एक वैध टोकन प्राप्त करने में सक्षम है।

मुझे पूर्ण लॉगआउट करने के लिए क्या याद आ रही है?

+0

आपने इसे कैसे हल किया? मुझे WPF ऐप से परेशानी हो रही है, जब मैंने पॉपअप विंडो में "मुझे याद रखें" चेक किया और साइन इन किया, तो मैं साइन आउट नहीं कर सकता। – Dabbas

+0

एक वर्कअराउंड किसी अन्य समय गलत पासवर्ड के साथ प्रमाणीकरण को मजबूर करना है, आमतौर पर यह टोकन –

उत्तर

15

आप भी एसटीएस से बाहर उपयोगकर्ता हस्ताक्षर एक लॉगआउट अनुरोध जारी करने के लिए करना चाहते हैं:? https://login.windows.net/ {tenantid या "आम"}/OAuth2/लॉगआउट post_logout_redirect_uri = {URL}। यूआरएल को एएडी में आपके एप के साथ पंजीकृत एक यूआरएल होना चाहिए।

आप स्थानीय क्रेडेंशियल कैश साफ़ कर रहे हैं। एसटीएस कुकी के कारण मूक लेखक हो रहा है (जब आप AcquireTokenAsync को फिर से कॉल करते हैं तो फिडलर ट्रेस क्या करता है)?

उम्मीद है कि मदद करता है।

+1

रीसेट करता है और मैं यूआरएल की तरह दिखता हूं 'https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri= ' क्या आपके पास लॉगआउट के लिए इस यूआरएल को कॉल करने के लिए सी # उदाहरण है? –

+1

हां ऊपर सुधार किया। मैं अभी भी इस तथ्य के लिए उपयोग कर रहा हूं कि SO संपादक कोणीय ब्रेसिज़ के बीच चीजों को छुपाता है। मेरे पास सी # उदाहरण आसान नहीं है। मुझे एक की तलाश करने दो। –

+0

WTF मैं MSDN पर इस बात के लिए हर जगह तलाश कर दिया गया है:/ –

संबंधित मुद्दे