我想使用Azure作为第三方服务提供商(SP)的身份提供者。我的问题是
-
我如何生成关于SP的客户端ID和客户端秘密(请注意,我的SP不是一个应用程序,而是另一个IDP,它将是Azure的SP,因为我尝试的场景是多因素身份验证)
webapp ---->第三方IDP(作为Azure的SP) ------> Windows Azure
-
如何获得Azure的公钥?
感谢任何帮助。
如果你想让Azure AD用户登录到你的web应用程序,你不需要OAuth:你需要在你的web应用程序和中间IdP之间以及中间IdP和Azure AD之间配置web单点登录。在您的应用程序中,用户的浏览器将被重定向到中间IdP,然后重定向到Azure AD。用户将在Azure AD上进行身份验证。您可以在Azure AD中为用户打开MFA -这将在身份验证时强制执行。验证成功后,一个身份验证响应将发送回中间IdP,它将发送一个身份验证响应到您的web应用程序。对于web SSO,您可以使用SAML或WSFed(取决于您的中间IdP支持什么)
您需要将中间IdP配置为Azure AD中的SP。如果还没有,请注册Azure。登录到管理门户,然后转到左侧的Active Directory选项卡。选择该目录并转到applications选项卡。在这里,你应该注册一个代表SP(你的中间IdP)的新应用。应用程序的以下属性很重要:
- App ID URI:这应该与您的中间IdP发送到Azure AD的SSO请求的颁发者相匹配
- Reply URL:这是Azure AD将发布认证响应的URL。您的中间IdP应该侦听此URL的身份验证响应。
接下来,您需要将Azure AD配置为中间IdP中的IdP。配置此功能所需的所有数据都在Azure AD的联合元数据文档中。在Azure管理门户中的配置应用程序页面上,单击底部栏中的查看端点按钮以获取Azure AD的联邦元数据文档URL (https://login.windows.net/{tenant_id}/federationmetadata/2007-06/federationmetadata.xml)。
如果你确实需要在Azure AD上使用OAuth:在应用程序配置页面上,你会发现应用程序的客户端ID (Guid值)。您可以生成一个密钥(有效期为1年或2年)-这将作为客户端密钥。
这里有一些可以帮助你度过难关的话题:
- 认证场景(当使用SAML/WSFed/OAuth/OpenIDConnect): http://msdn.microsoft.com/en-us/library/azure/dn499820.aspx
- 使用Azure AD注册应用程序:http://msdn.microsoft.com/en-us/library/azure/dn132599.aspx
- Azure AD联合元数据:http://msdn.microsoft.com/en-us/library/azure/dn195592.aspx