2011-09-06 7 views
5

OAuth 2.0 प्रतिनिधिमंडल Azure AppFabric अभिगम नियंत्रण सेवा के भीतर शामिल किया गया है: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 पहचान प्रदाता का चयन करते हैं, तो आपको डब्ल्यूएस-फेडरेशन मेटाडेटा दस्तावेज़ प्रदान करने की आवश्यकता होती है।

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


अद्यतन

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

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 

एक और अद्यतन

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

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

उत्तर

4

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

ACS actually supports OpenId IdPs – not OAuth. OAuth is used for token requests (delegation tokens typically).

To add new OpenIds IdP you need to use the management API – Vittorio has a blog post with a sample somewhere. But not all OpenId providers are supported.

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

2

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

मैं कम से प्रमाणीकरण 2 प्रतिनिधिमंडल नमूना पर एक नज़र डालने की अनुशंसा:

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

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

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