错误:请求中指定的回复URL与为应用程序配置的回复URL不匹配

问题描述 投票:0回答:2

我试图弄清楚我在OAuth流程中遇到的某个错误的原因(使用login.microsoftonline.com作为IDP)以便访问页面。

错误是:

AADSTS50011(请求中指定的回复URL与为应用程序配置的回复URL不匹配:'89bee1f7-5e6e-4d8a-9f3d-ecd601259da7'。

看看出去的请求,我确实看到了与之相对应的请求:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=89bee1f7-5e6e-4d8a-9f3d-ecd601259da7&redirect_uri=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fauthorize&state=XXX&client-request-id=YYY&x-client-SKU=Js&x-client-Ver=1.0.15&nonce=ZZZ&iframe-request-id=XXX

我看过一些关于AADSTS50011的帖子,有些人说这可能是微软的问题,有些人说有问题的客户端ID需要注册。但我的代码并没有在任何地方使用这个神秘的客户端ID,我想知道它来自哪里。

我不确定,但似乎这个请求可能来自qavascript或与https://webshell.suite.office.com/iframe/TokenFactoryIframe有关。

顺便说一句,在交换请求时,我看到了正在使用的正确客户端ID(00000002-0000-0ff1-ce00-000000000000),并且身份验证似乎成功了。我甚至看到有问题的页面开始加载,但随后几秒钟就会出现错误。

更新:与此问题相关的是上面第一个URL实际上在做什么。它是/ authorize的链接,其重定向URI位于同一位置。这看起来很奇怪,是否可以在正常的OAuth流程中出现?如果是这样,为什么?

javascript authentication azure-active-directory adal
2个回答
1
投票

错误消息相当清楚。您的应用程序需要在您的AAD租户下注册,而您在代码中为回复URL /重定向URI输入的内容需要与您在租户中设置的内容相匹配。

以下是注册本机应用程序的指南,因为该过程略有不同。 https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-proxy-configure-native-client-application

对于在Azure AD租户下发布的应用程序,客户端ID与应用程序ID相同。对于本机应用程序,应用程序ID和客户端ID是同义词。


1
投票

您的应用程序似乎正在使用ADAL.js库。 ADAL.js库旨在用于客户端JS Web应用程序,这些应用程序在Web浏览器(如单页应用程序)中运行。使用https://login.microsoftonline.com协议,ADAL.js正在向OAuth 2.0 implicit flow提出请求。

要回答有关错误的问题,您需要在Azure AD应用程序注册中设置重定向URI,以匹配ADAL.js配置中的重定向URI。默认情况下,ADAL.js使用应用程序的起始页作为重定向URI。您还需要在ADAL.js配置中设置应用程序的客户端ID。有关配置ADAL.js的详细信息,请参阅此wiki。此外,您可以按照注册步骤和此sample using Adal.js

© www.soinside.com 2019 - 2024. All rights reserved.