2011-09-06 104 views
5

的OAuth 2.0代表團包括在Azure AppFabric的訪問控制服務中:的OAuth 2.0身份提供商(ACS)

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聯合身份驗證元數據文檔。但是,當您閱讀OAuth 2.0提供程序(即http://msdn.microsoft.com/en-us/library/hh243647.aspx)的文檔時,沒有提及元數據文檔(是的,我知道Windows Live作爲預配置身份提供程序包含在內)。這是我必須寫的東西嗎?


更新

好了,我發現,您可以使用API​​添加額外的身份提供者,看到這些的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 

另一個更新

的ACS管理API提供了一種機制增加新的身份提供商(如果你設置的OpenID爲您WebSSOProtocolType),但是,我看不到你的關鍵是如何通過/祕密,我正在使用的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.

如果我正確理解Dominick的電子郵件,你不能在這方面的能力使用OAuth,你必須使用OpenId。不幸的是,撰寫您提到的第一篇博客文章的人確實對OpenID/OpenAuth一無所知 - 他是WS-Fed的人。我這樣說是因爲我寫了...... :)

2

OAuth 2委託方案,草案13中的第4.1節沒有強制規定一種身份提供者或任何身份提供者。您只需在您的網站上進行某種形式的身份驗證,然後使用身份驗證代碼重定向到客戶端的URL。

我推薦在驗證2代表團樣品在考慮看看:

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

你會發現,這個樣本用戶的認證與佔位符碼(硬編碼的用戶名實施了/密碼)。在現實世界的情況下,您可以使用任何身份驗證模式,包括使用ACS的聯合身份驗證,因爲您已經使用ACS來實現您的委派,所以這很有意義

相關問題