2011-09-06 118 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来实现您的委派,所以这很有意义

相关问题