php - Azure - 使用 Microsoft Office 365 帐户登录

标签 php azure azure-active-directory

我正在创建一个允许用户使用其 Office365 帐户登录的系统。我正在按照此 link 的说明进行操作.

我的理解是我必须在 Azure Portal 中注册该应用程序。然后,获取应用程序 ID,然后我可以使用正确的参数创建一个链接,如下所示:

<!-- DISREGARD THE NEW LINE. IT IS JUST TO SHOW YOU THE PARAMETERS THAT I USED -->
<a href="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
    client_id=xxxxxxxx-1597-46f2-9064-076cee516b3c&
    response_type=id_token&
    redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2Fuser%2Fverify&
    response_mode=form_post&
    scope=openid&
    state=pageTheUserIsOnCurrently&
    nonce=Testing">Sign in Using Microsoft Account</a>

然后,它应该被重定向到 http://localhost/myapp/user/verify (这是我应该使用 PHP 处理返回的 id_token 的页面),这在所提供链接的 redirect_uri 参数中进行了说明。但在单击链接并登录 Microsoft 凭据后,我收到错误:

Correlation ID: xxxxxxxx-3292-44b5-b3d8-6aa89a6a65db
Timestamp: 2017-10-01 09:40:49Z
AADSTS70001: Application 'xxxxxxxx-1597-46f2-9064-076cee516b3c' is not supported for this API version.

为什么我会收到这样的错误?应该做什么?我错过了什么吗?

最佳答案

与 v2.0 端点配合使用的应用程序应在新的应用程序注册门户中注册:apps.dev.microsoft.com 。您在Azure Portal中注册该应用程序,然后它是一个与Azure AD V1.0端点一起使用的应用程序,这就是发生错误的原因。

如果您要求使用 Microsoft 帐户登录,则应在 apps.dev.microsoft.com 中注册该应用并使用 v2.0 端点。请点击here有关 v2.0 端点的更多详细信息。

关于php - Azure - 使用 Microsoft Office 365 帐户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46511187/

相关文章:

azure - 在Microsoft Azure的Data Lake Storage帐户的输出文件夹中写回文件时更改文件名

.net - Azure Blob 触发器不适用于现有 Blob

azure - Azure AD B2C 页面 UI 自定义不支持 Bootstrap 吗?

xamarin - 如何在适用于 .NET 的 Microsoft 身份验证库 (MSAL) 中获取脱机 token ?

azure-active-directory - AzureAD 应用程序中定义的 appRole 未包含在类型为 "External Azure Active Directory"的 guest 用户中

php - Laravel 5.4 - 在哪里更改登录过程

php - abraham 的 twitteroauth 库是否适用于 update_with_media?

javascript - 如果没有附件,则发送消息,否则,描绘下载按钮

javascript - 发布或获取 ajax 请求中不存在的数据

azure - 获取 Azure VM 创建日期