OAuth 2.0委派包含在Azure AppFabric访问控制服务中:
但是,您如何实际设置OAuth 2.0身份提供商?
在添加Identity Provider并选择WS-Federation身份提供程序的管理界面中,您需要提供WS-Federation元数据文档。
但是,当您阅读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 Management API提供了添加新身份提供程序的机制(如果您将OpenId设置为WebSSOProtocolType),但是,我无法看到您如何传递OAuth测试服务器的密钥/密钥({{3}我正在使用要求。
答案 0 :(得分:4)
在与Dominick Baier(www.leastprivilege.com)的电子邮件对话中,他说:
ACS实际上支持OpenId IdPs - 而非OAuth。 OAuth用于令牌 请求(通常是授权令牌)。
要添加新的OpenIds IdP,您需要使用管理API - Vittorio 有一个博客文章,在某处有一个样本。但并非所有OpenId提供商 得到支持。
如果我正确理解了Dominick的电子邮件,则无法以此身份使用OAuth,您必须使用OpenId。不幸的是,撰写你提到的第一篇博客文章的人真的对OpenID / OpenAuth一无所知 - 他是一个WS-Fed人。我之所以这么说是因为我写了...... :)
答案 1 :(得分:2)
OAuth 2委派方案,草案13中的第4.1节,根本不要求任何类型的身份提供者或任何身份提供者。您只需在网站中进行某种形式的身份验证,然后使用身份验证代码重定向到客户端的URL。
我建议在以下位置查看Auth 2代表团样本:
https://connect.microsoft.com/site1168/Downloads
您会注意到,在此示例中,用户的身份验证是使用占位符代码(硬编码的用户名/密码)实现的。在真实场景中,您可以使用任何身份验证模式,包括与ACS的联合,这是有意义的,因为您已经在使用ACS来实现您的委派。