2013-04-22 14 views
5

मैंने अपने प्रोग्राम में एज़ूर सक्रिय निर्देशिका में उपयोगकर्ता का सेट किया है, मैं एक अंतिम उपयोगकर्ता का उपयोगकर्ता नाम और पासवर्ड एकत्र करूंगा और विंडोज़ एज़ूर सक्रिय निर्देशिका के साथ जांचना चाहता हूं।एज़ुर सक्रिय निर्देशिका उपयोगकर्ता प्रमाण पत्र को कैसे सत्यापित करें?

क्या यह संभव है? पी कुछ संदर्भ प्रदान करते हैं।

मैं पावर खोल cmdlets का उपयोग हम मान्य कर सकते हैं पता है, मैं जानना चाहता हूँ वहाँ उपयोगकर्ता crednetial मान्य करने के लिए किसी भी अन्य तरीकों है

+0

आप इसे पूरा करने की कोशिश कर रहे हैं क्या? क्या आप अपने प्रमाणीकरण और प्राधिकरण योजना के उच्च स्तर के डिज़ाइन का वर्णन कर सकते हैं। आपके विवरण के आधार पर ऐसा लगता है कि आप कुछ असुरक्षित और "शरारती" की कोशिश कर रहे हैं। क्या आपके पास कोई कारण है कि आप अपने भरोसेमंद पार्टी एप्लिकेशन में दावा आधारित प्रमाणीकरण का उपयोग नहीं कर रहे हैं और विंडोज़ को सक्रिय निर्देशिका (WAAD) प्रमाणीकरण संभालते हैं? – Nathan

+0

अधिकांश अनुप्रयोगों में मैंने बहुत बड़ी कंपनियों के लिए तैनात किया है, हमने ऑन-प्रिमाइज़ एडी प्रमाणीकरण स्रोत होने दिया है, और मैं यह पता लगाने की उम्मीद कर रहा हूं कि Azure AD इस क्लाउड एप्लिकेशन में इसे कैसे बदल सकता है। अगर मुझे ऐसा करने की ज़रूरत नहीं है, तो मैं प्रमाणीकरण कोड नहीं लिखूंगा, और डब्ल्यूएएडी को मेरे लिए यह सब कुछ ख्याल रखना चाहिए क्योंकि मैं इस बात पर ध्यान केंद्रित करता हूं कि प्राधिकरण मेरे आवेदन तर्क पर कैसे लागू होता है। – Graham

+0

क्या आपको कभी इसके लिए समाधान मिला है। मैं वही काम करने की कोशिश कर रहा हूं? – Gotts

उत्तर

2

आह, मुझे लगता है, आप एक एसएसओ परिदृश्य को लागू करने की कोशिश कर रहे हैं। Adding Sign-On to Your Web Application Using Windows Azure AD आज़माएं! और यदि आपके ग्राहक के पास Azure सदस्यता नहीं है, तो यह Multi-Tenant Cloud Application for Windows Azure Active Directory नमूना Azure सक्रिय निर्देशिका प्रमाणीकरण लाइब्रेरी का उपयोग करने के विवरणों का वर्णन करता है। उम्मीद है की यह मदद करेगा।

+1

आपके लिंक उपयोगी हैं।लेकिन डेवलपर दृष्टिकोण से, मुझे एक रास्ता खोजने में अधिक दिलचस्पी होगी, जहां मेरे पास पहले से ही उपयोगकर्ता नाम/डोमेन/पासवर्ड इत्यादि है। तो मैं ब्राउज़र विंडो खोलना नहीं चाहता हूं और उपयोगकर्ता को ऐसा करने देता हूं (अभी के लिए यह ऐसा है)। WAAD प्रमाणीकरण कैसे करें, जब हमारे पास पहले से ही हमारे साथ सभी विवरण हों? वर्तमान में हम 'प्रमाणीकरण कॉन्टेक्स्ट.एक्वायर टोकन (संसाधन, क्लाइंट-आईडी, संसाधन-ऐप-आईडी-यूरी) 'का उपयोग कर रहे हैं, लेकिन' प्रमाणीकरण कॉन्टेक्स्ट.एक्वायर टोकन (संसाधन, क्लाइंट क्रेडेंशियल)' का उपयोग कैसे करें? – iammilind

+0

आपका [यह] (http://code.msdn.microsoft.com/AAL- सर्वर-to- सर्वर-9aafccc1/sourcecode?fileId=93566&pathId=1250178454) लिंक कोड उदाहरण प्रदान करता है, लेकिन यह सुनिश्चित नहीं है कि यह लागू होगा या नहीं या नहीं। मुझे यकीन नहीं है कि 'क्लाइंट क्रेडिट' बनाने के लिए 'क्लाइंटसेक्रेट' भाग का उपयोग कैसे करें। – iammilind

0

आप कहते हैं कि "आप अंतिम उपयोगकर्ता का उपयोगकर्ता नाम और पासवर्ड एकत्र करेंगे और विंडोज़ एज़ूर सक्रिय निर्देशिका के साथ जांचना चाहते हैं" - मुझे पूरा यकीन है कि यह संभव नहीं है, और मुझे यकीन है कि यह सलाह नहीं दी जाती है। यह OAuth जैसे दृष्टिकोणों की प्रवृत्ति के विपरीत है जहां उपयोगकर्ता उन "कई अनुप्रयोगों" को उनके पासवर्ड को प्रकट किए बिना समान प्रमाण-पत्रों का उपयोग करके कई अनुप्रयोगों पर लॉगिन कर सकते हैं (और भाग आना महत्वपूर्ण है)।

यह संघीय प्रमाणीकरण का विचार है और आपके द्वारा लॉग इन किए गए सभी ऐप्स को आपके उपयोगकर्ता नाम और पासवर्ड तक सीधे पहुंचने के पुराने दृष्टिकोण की तुलना में अधिक सुरक्षित मॉडल है। आम तौर पर इस तरह के प्रवाह में, मौजूदा Office 365 खाता मानते हुए, O365 का उपयोग करके प्रमाणीकृत करने के लिए आपके द्वारा बनाए गए नए ऐप को उपयोगकर्ता के वेब ब्राउज़र को O365 पर पुनर्निर्देशित किया जाएगा जहां उपयोगकर्ता अपना O365 उपयोगकर्ता नाम और पासवर्ड टाइप करता है, और फिर सहमत होता है (एक बार) कि उनके लिए इस नए ऐप के साथ उपयोग करना ठीक है, फिर ब्राउज़र कुछ ऐप के साथ एक सुरक्षा टोकन के साथ ऐप पर वापस ले जाएगा। इन दावों में लॉग इन उपयोगकर्ता के बारे में नाम, ईमेल पता और अन्य चीजें शामिल होंगी और आपके ऐप में उपयोगकर्ता की पहचान करने के लिए पर्याप्त होने का इरादा है।

वही, फेसबुक या Google के साथ प्रमाणीकरण के लिए जाना होगा - आपका ऐप उपयोगकर्ता के पासवर्ड को सीधे कभी नहीं देख पाएगा। यह StackOverflow में लॉग इन करने के लिए भी लागू होगा, इसलिए आपने वर्कफ़्लो देखा है।

0

आशा है कि यह एडीएएल विकल्प भी मदद कर सकता है।

ClientCredential encryptedCredentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "[email protected]", "PasswordX"))); 
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encryptedCredentials); 
2

मामले में किसी को अभी भी एक जवाब की तलाश में है। उपयोगकर्ता क्रेडिट के लिए एक नई विंडो खोलने के बिना उपयोगकर्ता को प्रमाणीकृत करने के लिए समर्थन AcquireToken के ओवरलोडेड फ़ंक्शन में कक्षा UserCredential की ऑब्जेक्ट प्रदान करके ADAL संस्करण 2.7.10707.1513-rc में जोड़ा गया था।

public AuthenticationResult AcquireToken(string resource, string clientId, UserCredential userCredential); 

यहां शक्तियों के लिए नमूना कोड है। $UserCred = new-object Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential("****@*****", "*****") $result = $AuthContext.AcquireToken($resource,$clientID,$UserCred)

+2

यह केवल मूल ग्राहकों के लिए उपलब्ध है - वेब ऐप्स नहीं। – BenV

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