带有Endpoint Ver的Azure AD OAuth 2。 2 - 工作帐户成功,个人帐户失败," Microsoft帐户遇到技术问题。"

时间:2016-09-28 14:18:28

标签: oauth-2.0 azure-active-directory

我们正在向我们的网站添加与Microsoft的登录。我们的要求是支持Azure Active Directory中的个人Microsoft帐户和工作/学校帐户。

我只允许在这篇文章中发布2个网址,所以我会用空格打破它们。

我们通过以下网址仔细关注了Microsoft的文档:https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols/

  • 我们的应用已在apps.dev.microsoft.com

  • 注册
  • 我们使用的终端是:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

https://login.microsoftonline.com/common/oauth2/v2.0/token

学校/工作帐户成功

当我们使用此协议启动OAuth 2登录时,我们将通过以下URL访问Microsoft的登录页面:https://login.microsoftonline.com/common/oauth2/v2.0/authorize < / p>

为表格为#34; user@mydomain.microsoftonline.com"的学校/工作帐户的用户输入电子邮件地址和密码;成功验证该用户,我们收到访问令牌,并能够成功查询Microsoft Graph API。

个人帐户失败

当我们发起OAuth 2登录并转到https://login.microsoftonline.com/common/oauth2/v2.0/authorize但输入个人Microsoft帐户电子邮件地址时,我们会立即重定向到Microsoft个人帐户登录页面位于以下网址:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type = code&amp; client_id = 00000000-0000-0000-0000-000000000000&amp; redirect_uri = https%3A%2F%2Fsub.example .COM%2Flogin%2Foffice365%2Fprocess&安培;范围=的OpenID%20User.Read&安培; response_mode =查询&安培;状态= 0000000000qi7ua80000000000

失败并重定向到错误页面,并显示以下消息:

&#34; Microsoft帐户遇到技术问题。请稍后再试。&#34;

错误页面的URL是:

https://login.live.com/err.srf?lc = 1033#error = invalid_request&amp; error_description = +提供+值+ + +输入+参数+&#39; redirect_uri&#39; +是+非+有效。+ +预期+值+是+&#39; https://login.live.com/oauth20_desktop.srf' +或+ a +网址+其中+匹配+ +重定向+ URI +注册+为+ +这个客户+应用&安培;状态= 0000000000qi7ua80000000000

我们的调试步骤

  • 尝试添加/删除多个组合以及重定向网址的排序,包括子域和不包含子域,只包含没有路径的域,依此类推(https://example.com,https:// sub。 example.com)

  • 尝试将错误消息(https://login.live.com/oauth20_desktop.srf)中提到的网址添加到我们允许的重定向网址

  • 启用Chrome调试器和录制的网络请求,以确认我们的重定向网址与传递给Microsoft登录的参数以及在我们的应用中注册的内容相匹配

2 个答案:

答案 0 :(得分:1)

看起来你正在做正确的事情。在过去几周内,apps.dev.microsoft.com门户网站偶尔无法在Microsoft帐户数据存储中记录redirect_uri。看起来你正在遇到这个错误。

目前唯一的解决方法是尝试删除&amp;在apps.dev.microsoft.com中重新添加redirect_uri,直到它真正坚持下去。对于其他人来说,通过创建新的App ID重新开始运作良好。

答案 1 :(得分:1)

这确实是一个错误。即使它似乎已更改,Microsoft也不会存储您的redirect_uri

对我有用的是改变清单。您只需更改清单中的应用程序名称并保存即可。然后,Microsoft将正确存储整个清单,包括您的redirect_uri

这是一个烦人的错误,花了我很多时间。