试图让Azure中美国州长的授权代码时出错:获得“无效的资源AADSTS650057”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图让Azure中美国州长的授权代码时出错:获得“无效的资源AADSTS650057”相关的知识,希望对你有一定的参考价值。

我工作的本地应用程序,允许用户连接并管理自己的Azure的订阅。为此,我在我的有以下委派权限Azure的AD创建的应用程序:

  • 登录并读取用户个人资料。
  • 访问Azure的服务管理作为组织中的用户。

使用这个应用程序的ID,我是能够连接到我的Azure的一般地区Azure的订阅。没有问题存在。

现在我想这样做在Azure的主权地区(Azure的中国和美国的州长是特定的)。所以我重复相同的步骤,并创造了每一个具有相同权限的区域的应用。在这两个地方,我的应用程序所有者。

当我试图让使用Azure的中国地区的应用授权码,一切都运行得很好。我能够获得授权码,并使用该代码来获得访问令牌和刷新令牌。这是我用的网址:

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

然而,当我做了Azure的美国州长一样,我收到以下错误回来:

AADSTS650057:无效的资源。客户端已请求访问未在客户端的应用程序注册所要求的权限上市资源。客户端应用程序ID:XXXXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX。从请求资源值:https://management.core.usgovcloudapi.net/。资源的应用程序ID:XXXXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX。 797f4846-ba00-4fd7-ba43-dac1f8f63013,00000002-0000-0000-c000-000000000000:从应用注册有效的资源列表。跟踪ID:XXXXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX相关ID:XXXXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX时间戳:2019年2月6日02:19:50Z

下面是我使用的请求URL:

https://login-us.microsoftonline.com/common/oauth2/authorize?resource=https%3A%2F%2Fmanagement.core.usgovcloudapi.net%2F&client_id=xxxxxxxx-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. 如果我使用微软的客户端ID(1950a258-227b-4e31-a9cf-717495945fc2),而不是我的应用程序的ID和https://management.core.usgovcloudapi.net/作为资源,一切正常。
  2. 如果我用我的应用程序的ID和https://management.core.windows.net/的资源,而不是https://management.core.usgovcloudapi.net/,我得到的同意提示(我没有其他的获取),所以我认为这也是工作的罚款。

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

答案

这个问题通常是由具有在SSO设置不正确的识别造成的。任一所述标识符设置不正确,该格式不正确,或者它不租户之间正确共享。

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

我还建议使用招来检查SAML响应,以及确保你没有执行对租户任何不必要的访问要求。

以上是关于试图让Azure中美国州长的授权代码时出错:获得“无效的资源AADSTS650057”的主要内容,如果未能解决你的问题,请参考以下文章

使用授权代码流获取具有有效刷新令牌的新令牌时出错

从我的浏览器连接到 Azure Service Fabric 集群中托管的服务时出错

sql server 2008安装出错,试图执行未经授权的操作。

sql server 2008安装出错,试图执行未经授权的操作。

Azure DevOps:将 Maven 工件从 Azure 工件导入发布时出错

SonarQube Azure Devops 未授权