我试图找出导致进入页面的访问权的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,我想知道它的来源。

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

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

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

最佳答案

该错误消息是相当清楚的。您的应用程序需要在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”是同义词。

关于javascript - 错误:请求中指定的回复URL与为应用程序配置的回复URL不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54638667/

10-10 00:02
查看更多