使用az account get-access-token --resource '<APP ID Uri>'
尝试获取自定义AD应用程序的访问令牌时,出现以下错误:
AADSTS65001: The user or administrator has not consented to use the application with ID '04b07795-8ddb-461a-bbee-02f9e1bf7b46' named 'Microsoft Azure CLI'. Send an interactive authorization request for this user and resource.
04b07795-8ddb-461a-bbee-02f9e1bf7b46
不是我的应用程序ID,并且我的应用程序已获得管理员同意。我尝试将这个ID放在交互式登录请求中,但行为没有改变。
get-access-token
或https://database.windows.net
时, https://vault.azure.net/
可以正常工作
我的目标是使具有托管服务身份的Azure应用服务通过短暂的AD承载令牌彼此进行身份验证。每个服务都有与AD App对应的已配置受众。
答案 0 :(得分:1)
如果我使用用户帐户登录cli,我可以用--resource '<APP ID Uri>'
重现您的问题。
如果我使用服务主体登录,则可以正常工作。
您可以尝试使用服务主体登录azure cli,请参阅此link。
答案 1 :(得分:0)
从本地CLI运行az account get-access-token --resource '<APP ID Uri>'
,您正尝试使用Azure CLI(其客户端ID恰好为'<APP ID Uri>'
)从04b07795-8ddb-461a-bbee-02f9e1bf7b46
获取令牌。
要处理此问题,您可以转到: Azure Active Directory→应用程序注册→{您的应用程序}→公开API→添加客户端应用程序:
ID :
04b07795-8ddb-461a-bbee-02f9e1bf7b46
授权范围:选中
'<APP ID Uri>'
要确保您拥有正确的ID,可以运行az account get-access-token
将令牌粘贴到jwt.io并找到"appid"
的值。