gpt4 book ai didi

azure - 尝试在 Azure US Gov 中获取授权码时出现 "AADSTS650057: Invalid resource"错误

转载 作者:行者123 更新时间:2023-12-02 02:38:39 25 4
gpt4 key购买 nike

我正在开发一个 native 应用程序,该应用程序将允许用户连接到并管理他们的 Azure 订阅。为此,我在 Azure AD 中创建了一个具有以下委派权限的应用程序:

  • 登录并阅读用户个人资料。
  • 以组织用户身份访问 Azure 服务管理。

使用此应用程序的 ID,我可以连接到 Azure 常规区域中的 Azure 订阅。没有问题。

现在我想在 Azure 主权区域(具体来说是 Azure 中国和美国政府)做同样的事情。因此,我重复了相同的步骤,并在每个区域中创建了具有相同权限的应用程序。在这两个地方我都是应用程序所有者。

当我尝试在 Azure 中国区域使用该应用程序获取授权码时,一切都运行良好。我能够获取授权代码并使用该代码来获取访问 token 和刷新 token 。这是我使用的网址:

https://login.chinacloudapi.cn/common/oauth2/authorize?resource=https%3A%2F%2Fmanagement.core.chinacloudapi.cn%2F&client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&response_type=代码+id_token&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_mode=fragment&nonce=1549417823964&state=12345

但是,当我对 Azure US Gov 执行相同操作时,我收到以下错误:

AADSTS650057: Invalid resource. The client has requested access to a resource which is not listed in the requested permissions in the client's application registration. Client app ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Resource value from request: https://management.core.usgovcloudapi.net/. Resource app ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. List of valid resources from app registration: 797f4846-ba00-4fd7-ba43-dac1f8f63013, 00000002-0000-0000-c000-000000000000. Trace ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Correlation ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Timestamp: 2019-02-06 02:19:50Z

这是我正在使用的请求 URL:

https://login-us.microsoftonline.com/common/oauth2/authorize?resource=https%3A%2F%2Fmanagement.core.usgovcloudapi.net%2F&client_id=xxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx&response_type=code+id_token&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_mode=fragment&nonce=1549419561905&state=12345

如您所见,我使用 https://management.core.usgovcloudapi.net/ 作为资源。这是基于Azure Government developer guide 。我什至尝试使用 https://management.usgovcloudapi.net/ 但我得到了相同的结果。

此外我注意到一些事情:

  1. 如果我使用 Microsoft 的客户端 ID (1950a258-227b-4e31-a9cf-717495945fc2) 而不是我的应用程序 ID 和 https://management.core.usgovcloudapi.net/ 作为资源,一切正常。
  2. 如果我使用应用程序的 ID 和 https://management.core.windows.net/ 作为资源,而不是 https://management.core.usgovcloudapi.net/ code>,我得到了同意提示(否则我没有得到),所以我认为这也工作正常。

谁能告诉我我做错了什么?

最佳答案

此问题通常是由于 SSO 设置中的标识符不正确导致的。标识符设置不正确、格式不正确或者未在租户之间正确共享。

在应用程序的单点登录下,检查标识符字段是否填写正确。 (这是一个不同的示例,但显示了位置。) enter image description here

我还建议使用 Fiddler 检查 SAML 响应,并确保您没有对该租户强制执行任何不必要的访问要求。

关于azure - 尝试在 Azure US Gov 中获取授权码时出现 "AADSTS650057: Invalid resource"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54545866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com