我正在创建一个允许用户使用其 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/