是否可以获取Azure AD的应用程序标记,其中资源或范围是https://graph.microsoft.com/?

时间:2017-09-07 10:15:39

标签: azure azure-active-directory microsoft-graph

是否可以获取资源或范围为https://graph.microsoft.com/的Azure AD的应用程序标记?

我阅读了文章Service to service calls using client credentials (shared secret or certificate),但我无法获得访问令牌,错误是"无法在租户xxx"中找到资源https://graph.microsoft.com/

如果我将resource更改为scope,我可以获得访问令牌,但此令牌无法用于获取网络API。我有401个未经授权的错误。但我已授予所有权限,包括图表API的应用和委派权限。

POST /contoso.com/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=625bc9f6-3bf6-4b6d-94ba-e97cf07a22de&client_secret=qkDwDJlDfig2IpeuUZYKH1Wb8q1V0ju6sILxQQqhJ+s=&resource=https%3A%2F%2Fservice.contoso.com%2F

1 个答案:

答案 0 :(得分:0)

如果您在Azure门户中注册Azure AD应用程序并希望使用客户端凭据流获取微软图api的令牌,则应使用https%3A%2F%2Fgraph.microsoft.com%2F(网址编码)作为resource,并且不要&# 39;忘记按照@juunas的建议将客户端秘密URL编码。

如果您为自己的受Azure AD保护的Web api获取令牌,则可以使用为api应用程序注册的App ID URI作为资源。代码示例here仅供参考。