的OAuth 2.0身份提供商(ACS)
的OAuth 2.0代表团包括在Azure AppFabric的访问控制服务中:的OAuth 2.0身份提供商(ACS)
但你如何真正建立一个OAuth 2.0身份供应商?
在添加身份提供程序并选择WS-Federation身份提供程序的管理界面中,需要提供WS联合身份验证元数据文档。但是,当您阅读OAuth 2.0提供程序(即http://msdn.microsoft.com/en-us/library/hh243647.aspx)的文档时,没有提及元数据文档(是的,我知道Windows Live作为预配置身份提供程序包含在内)。这是我必须写的东西吗?
更新
好了,我发现,您可以使用API添加额外的身份提供者,看到这些的PowerShell作为命令的示例:
然而当尝试添加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/)需要。
在一封电子邮件交谈,我与多米尼克拜尔(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的人。我这样说是因为我写了...... :)
OAuth 2委托方案,草案13中的第4.1节没有强制规定一种身份提供者或任何身份提供者。您只需在您的网站上进行某种形式的身份验证,然后使用身份验证代码重定向到客户端的URL。
我推荐在验证2代表团样品在考虑看看:
https://connect.microsoft.com/site1168/Downloads
你会发现,这个样本用户的认证与占位符码(硬编码的用户名实施了/密码)。在现实世界的情况下,您可以使用任何身份验证模式,包括使用ACS的联合身份验证,因为您已经使用ACS来实现您的委派,所以这很有意义