我们正在使用Microsoft在我们的网站上添加登录。我们的要求是支持Azure Active Directory中的个人Microsoft帐户和工作/学校帐户。带端点版本的Azure AD OAuth 2 2 - 工作帐户成功,个人帐户因“Microsoft帐户遇到技术问题”而失败。
我只允许发布2个网址,在这个岗位,所以我会用空格打破他们。
我们认真遵循微软的以下网址的文档: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登录时,我们将转到Microsoft的登录页面,网址如下:https://login.microsoftonline.com/common/oauth2/v2.0/authorize
输入与形式的一所学校/工作帐户的用户的电子邮件地址和密码“[email protected]”成功认证用户,我们收到一个访问令牌,并能够成功地查询Microsoft图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 & client_id = 00000000- 0000-0000-0000-000000000000 & redirect_uri = https%3A%2F%2Fsub.example.com%2Flogin%2Foffice365%2Fprocess &范围=的OpenID%20User.Read & response_mode =查询&状态= 0000000000qi7ua80000000000
其失败并重定向到与消息的错误页面:
“Microsoft帐户遇到的技术问题。请稍后再试“
错误页的URL是:
的https://login.live.com/err.srf LC = 1033#错误= INVALID_REQUEST & ERROR_DESCRIPTION = +将提供+ value + for + the + input + parameter +'redirect_uri'+ is + not + valid。+ + expected + value + is +'https://login.live。COM/oauth20_desktop.srf'+或+ A + URL +其中+比赛的+ + +重定向URI +注册+为+ +这个客户+应用程序。 &状态= 0000000000qi7ua80000000000
我们调试步骤
尝试添加/移除若干组合和重定向网址,既没有子域的顺序,只是含有不含路径的域,等等( https://example.com,https://sub.example.com)
试图将错误消息(https://login.live.com/oauth20_desktop.srf)中提及的URL添加到我们的允许重定向网址
启用Chrome调试器和记录网络请求确认我们的导向网址匹配传递给微软登录参数,并与我们的应用程序注册什么
你有没有想过呢?我有同样的问题。 –