Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Can';无法获取自定义AD应用程序的访问令牌_Azure_Powershell_Azure Active Directory_Azure Cli - Fatal编程技术网

Azure Can';无法获取自定义AD应用程序的访问令牌

Azure Can';无法获取自定义AD应用程序的访问令牌,azure,powershell,azure-active-directory,azure-cli,Azure,Powershell,Azure Active Directory,Azure Cli,尝试使用az account get access token--resource'获取自定义广告应用程序的访问令牌时,我收到以下错误: AADSTS65001:用户或管理员未同意使用ID为“04b07795-8ddb-461a-bbee-02f9e1bf7b46”且名为“Microsoft Azure CLI”的应用程序。为此用户和资源发送交互式授权请求。 04b07795-8ddb-461a-bbee-02f9e1bf7b46不是我的应用程序id,我的应用程序已获得管理员同意。我已尝试将此i

尝试使用
az account get access token--resource'
获取自定义广告应用程序的访问令牌时,我收到以下错误:

AADSTS65001:用户或管理员未同意使用ID为“04b07795-8ddb-461a-bbee-02f9e1bf7b46”且名为“Microsoft Azure CLI”的应用程序。为此用户和资源发送交互式授权请求。

04b07795-8ddb-461a-bbee-02f9e1bf7b46
不是我的应用程序id,我的应用程序已获得管理员同意。我已尝试将此id放入交互式登录请求中,但行为没有改变

当资源是定义的MS端点(如
https://database.windows.net
https://vault.azure.net/


我的目标是让Azure应用程序服务与托管服务身份通过短期广告承载令牌相互验证。每个服务都有一个与广告应用相对应的配置受众。

我可以用
--资源'

如果我使用服务主体登录,它可以正常工作


您可以尝试使用服务主体登录azure cli,请参阅此。

运行
az account get access token--resource',并查找
“appid”的值

不确定cmd行的命令是什么,但在powershell中它是'New azurermroleasignment-ObjectId-Scope'/subscriptions/-RoleDefinitionName contributor',基本上是告诉您授予对象参与者权限。我还没有弄清楚如何在不执行此步骤的情况下创建新的应用程序,也没有看到任何需要它的文档。这就是我的工作原理。我从这个对象引用中得到一个空引用,而不是设置为对象的实例。我终于找到了我要找的。如果您进入订阅并打开IAM刀片服务器,请选择您的,然后在“管理”下选择“属性”。这里有您正在引用的“ObjectID”。如果与id不匹配,则说明您没有使用正确的应用程序登录。04b id为Azure CLI。我不知道如何改变它,这是问题所在。你不能改变它。这是AD应用程序的objectID,需要授予参与者角色。这是一个非常有用的解决方法,谢谢。我仍然希望找到一种方法,允许用户以自己的身份接收访问令牌,因为我们这样做的部分原因是为了避免传递登录凭据。也许我遗漏了一个细节,但如果您使用的是广告应用程序,您应该使用服务主体。不是用户帐户。我正在尝试在本地开发,我无法让azure cli为我在本地web应用程序中的用户登录提取广告应用程序的访问令牌。不过,我确实以服务主体身份登录,并且能够在本地调试时提取令牌。我不知道为什么它不适用于已被授予默认访问广告应用程序权限的用户帐户。这确实帮助了我。我也遇到过类似的情况,除了我的问题是Powershell Azure ID:1950a258-227b-4e31-a9cf-717495945fc2。话虽如此,我应用了您的解决方案,效果非常好:)