azure - विंडोज नीज़र ऐपफैब्रिक एक्सेस कंट्रोल सर्विस(एसीएस) में OAuth 2.0 पहचान प्रदाता




appfabric oauth-2.0 (2)

मैंने एक ईमेल वार्तालाप में डोमिनिक बायर के साथ (www.leastprivilege.com) कहा था:

एसीएस वास्तव में ओपनआईडी आईडीपी का समर्थन करता है - ओअथ नहीं है OAuth को टोकन अनुरोधों के लिए उपयोग किया जाता है (आमतौर पर प्रतिनिधिमंडल टोकन)।

नए ओपनआईडीएस आईडीपी को जोड़ने के लिए आपको प्रबंधन एपीआई का उपयोग करना होगा - विटोरियो में एक ब्लॉग पोस्ट है जहां कहीं एक नमूना है। लेकिन सभी ओपनआईडी प्रदाता समर्थित नहीं हैं।

अगर मुझे डॉमिनिक के ईमेल को ठीक से समझ लिया गया है, तो आप इस क्षमता में ओअथ का उपयोग नहीं कर सकते, आपको ओपनआईडी का उपयोग करना होगा। दुर्भाग्य से, जिस व्यक्ति ने आपने लिखा पहला ब्लॉग लेख लिखा था, वास्तव में ओपनआईडी / ओपन-एथ के बारे में कुछ नहीं पता है - वह डब्लूएस फेड लड़का है। मैं कहता हूं कि क्योंकि मैंने इसे लिखा था ... :)

OAuth 2.0 प्रतिनिधिमंडल, Azure AppFabric पहुंच नियंत्रण सेवा के भीतर शामिल है:

http://blogs.objectsharp.com/cs/blogs/steve/archive/2011/04/11/windows-azure-access-control-services-v2-rtw.aspx

लेकिन आप वास्तव में एक OAuth 2.0 पहचान प्रदाता कैसे सेट अप करते हैं?

जब आप एक पहचान प्रदाता जोड़ते हैं और WS-Federation पहचान प्रदाता का चयन करते हैं तो प्रबंधन इंटरफ़ेस में, आपको एक WS-Federation मेटाडेटा दस्तावेज़ प्रदान करना होगा।

हालांकि, जब आप OAuth 2.0 प्रदाता के दस्तावेज पढ़ते हैं (यानी http://msdn.microsoft.com/en-us/library/hh243647.aspx ) कोई मेटाडेटा दस्तावेज़ का कोई भी उल्लेख नहीं है (हां, मुझे पता है कि Windows Live शामिल है पूर्व-संरचित पहचान प्रदाता के रूप में) क्या यह मुझे लिखना है?

अद्यतन करें

ठीक है, इसलिए मैंने पाया है कि आप एपीआई का उपयोग कर अतिरिक्त पहचान प्रदाताओं को जोड़ सकते हैं, उदाहरण के रूप में इन पावरशेफ कमांड देखें:

http://blogs.msdn.com/b/vbertocci/archive/2011/05/19/adding-a-custom-openid-provider-to-acs-with-just-one-line-of-powershell-code। aspx

हालांकि जब एक OAuth प्रदाता को जोड़ने का प्रयास करते हैं, तो मुझे एक त्रुटि मिलती है:

Add-IdentityProvider -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx"

Add-IdentityProvider : An error occurred while processing this request.
At line:1 char:21
+ Add-IdentityProvider <<<<  -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx"
+ CategoryInfo          : CloseError: (:) [Add-IdentityProvider], ServiceManagementException
+ FullyQualifiedErrorId : Microsoft.Samples.DPE.ACS.ServiceManagementTools.PowerShell.IdentityProviders.AddIdentityProviderCommand

एक और अपडेट

एसीएस प्रबंधन एपीआई नई पहचान प्रदाता (यदि आप ओपनआईडी को अपनी वेबएसएसप्रोटल टाइप टाइप करते हैं) को जोड़ने के लिए एक तंत्र प्रदान करता है, हालांकि, मैं देख नहीं सकता कि आप कुंजी / गुप्त में कैसे पास करते हैं कि ओअथ टेस्ट सर्वर ( http://term.ie / oauth / example / ) मैं उपयोग कर रहा हूँ की आवश्यकता है।

http://msdn.microsoft.com/en-us/library/hh278947.aspx


OAuth 2 प्रतिनिधिमंडल परिदृश्य, ड्राफ्ट 13 में धारा 4.1, किसी प्रकार के पहचान प्रदाता या किसी भी पहचान प्रदाता को बिल्कुल भी जनादेश नहीं देता। आपको अपनी वेब साइट में कुछ प्रमाणीकरण प्रमाणीकरण करने की आवश्यकता है और प्रमाणीकरण कोड के साथ अपने ग्राहक के URL पर रीडायरेक्ट करें।

मैं औथ 2 प्रतिनिधि मंडल नमूने पर एक नज़र लेने की सलाह देता हूं:

https://connect.microsoft.com/site1168/Downloads

आप देखेंगे कि इस नमूने में उपयोगकर्ता के प्रमाणीकरण को स्थान धारक कोड (हार्ड कोडित उपयोगकर्ता नाम / पासवर्ड) के साथ लागू किया गया है। वास्तविक दुनिया परिदृश्य में आप एसीएस के साथ फेडरेशन सहित किसी भी प्रमाणीकरण पद्धति का उपयोग कर सकते हैं, जो आपके प्रतिपादन को लागू करने के लिए पहले से ही एसीएस का उपयोग कर रहे हैं, क्योंकि यह समझदारी होगी।