使用OpenIdConnect通过针对O365 Azure AD的身份验证创建应用程序

时间:2016-10-17 13:53:01

标签: office365 azure-active-directory openid-connect

我有一个我正在创建的应用程序用于Office 365帐户(将是多租户)。我希望使用OpenID Connect进行身份验证。我不需要常规的Microsoft帐户工作。

我尝试过创建一个应用程序: https://portal.azure.com - > Azure Active Directory - >应用注册

以及: https://manage.windowsazure.com - >活动目录 - >应用

这些似乎不适用于OpenId Connect。

在以下位置创建应用: https://apps.dev.microsoft.com

是否适用于OpenId Connect。

有人可以帮忙建议:

  1. 这些不同的网址之间有什么区别?
  2. 是否可以从其中一个Azure站点上注册的应用程序运行OpenID Connect,以便集中所有Azure内容?

2 个答案:

答案 0 :(得分:1)

https://portal.azure.com中创建新应用时,您的本地租户中没有为您创建服务主体。当您对应用程序执行第一次授权请求时,将在本地AD租户中创建服务主体。有关更多信息,请参阅http://www.cloudidentity.com/blog/2016/10/04/provision-an-app-created-on-portal-azure-com-in-your-own-tenant/

如果使用经典门户创建应用程序,则会创建应用程序对象和服务主体。

要验证您的问题,我使用现代门户网站https://portal.azure.com创建了一个新应用,并打开了

GET https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id={application_id}
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2F
&response_mode=form_post
&scope=openid
&state=12345
&nonce=7362CAEA-9CA5-4B43-9BA3-34D7C303EBA7

在浏览器中,同时在后台运行提琴手。

注意:用您的Azure AD租户ID(guid)和您的应用程序ID(也是guid)替换{tenant}{application_id}redirect_uri。 <{1}}和state是必需的,但可以有任何价值。

当您在浏览器中打开URL时,它将首先要求用户同意该应用程序,如果成功,则使用id_token回复redirect_uri。

有关执行OpenID Connect请求的详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/active-directory-protocols-openid-connect-code/

您还可以使用https://apps.dev.microsoft.com创建新的应用。如果要利用v2.0端点和身份验证协议,则应使用此页面注册新应用程序。有关详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-limitations/

答案 1 :(得分:0)

目前,您需要选择两种不同的OpenID Connect端点。如果您不需要Microsoft帐户,我建议您在portal.azure.com上注册应用程序,并使用https://login.microsoftonline.com/common/oauth2/authorize端点执行OIDC。在aka.ms/aaddev

上有很好的协议文档和代码示例