使用 OpenIdConnect 创建针对 O365 Azure AD 进行身份验证的应用程序
Create Application with Authenticates against O365 Azure AD with OpenIdConnect
我正在创建一个用于 Office 365 帐户的应用程序(将是多租户的)。我希望使用 OpenID Connect 进行身份验证。我不需要正常的 Microsoft 帐户。
我尝试在以下位置创建应用程序:
https://portal.azure.com -> Azure Active Directory -> 应用程序注册
以及:
https://manage.windowsazure.com -> Active Directory -> 应用程序
这些似乎不适用于 OpenId Connect。
正在创建应用程序:
https://apps.dev.microsoft.com
为 OpenId Connect 工作。
有没有人可以帮忙指教:
- 这些不同的 URL 之间有什么区别?
- 是否可以从在其中一个 Azure 站点上注册的应用程序获取 OpenID Connect 运行,以便集中管理我的所有 Azure 内容?
目前,您需要从两个不同的 OpenID Connect 端点中进行选择。如果您不需要 Microsoft 帐户,我建议您在 portal.azure.com 注册一个应用程序,并使用 https://login.microsoftonline.com/common/oauth2/authorize
端点执行 OIDC。 aka.ms/aaddev
提供了很好的协议文档和代码示例
当您在 https://portal.azure.com there is no service principal created for you in your local tenant. When you do the first authorize request to your app, the service principal gets created in your local AD tenant. See 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
在浏览器中,同时后台有 fiddler 运行。
注意:将 {tenant}
、{application_id}
和 redirect_uri
替换为您的 Azure AD 租户 ID (guid) 和您的应用程序 ID(也是一个 guid)。 state
和 nonce
是必需的,但可以是任何值。
当您在浏览器中打开 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. You should use this page to register new apps if you want to take advantage of the v2.0 endpoint and authentication protocol. See https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-limitations/ 创建新应用以了解更多信息。
我正在创建一个用于 Office 365 帐户的应用程序(将是多租户的)。我希望使用 OpenID Connect 进行身份验证。我不需要正常的 Microsoft 帐户。
我尝试在以下位置创建应用程序: https://portal.azure.com -> Azure Active Directory -> 应用程序注册
以及: https://manage.windowsazure.com -> Active Directory -> 应用程序
这些似乎不适用于 OpenId Connect。
正在创建应用程序: https://apps.dev.microsoft.com
为 OpenId Connect 工作。
有没有人可以帮忙指教:
- 这些不同的 URL 之间有什么区别?
- 是否可以从在其中一个 Azure 站点上注册的应用程序获取 OpenID Connect 运行,以便集中管理我的所有 Azure 内容?
目前,您需要从两个不同的 OpenID Connect 端点中进行选择。如果您不需要 Microsoft 帐户,我建议您在 portal.azure.com 注册一个应用程序,并使用 https://login.microsoftonline.com/common/oauth2/authorize
端点执行 OIDC。 aka.ms/aaddev
当您在 https://portal.azure.com there is no service principal created for you in your local tenant. When you do the first authorize request to your app, the service principal gets created in your local AD tenant. See 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
在浏览器中,同时后台有 fiddler 运行。
注意:将 {tenant}
、{application_id}
和 redirect_uri
替换为您的 Azure AD 租户 ID (guid) 和您的应用程序 ID(也是一个 guid)。 state
和 nonce
是必需的,但可以是任何值。
当您在浏览器中打开 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. You should use this page to register new apps if you want to take advantage of the v2.0 endpoint and authentication protocol. See https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-limitations/ 创建新应用以了解更多信息。