我试图获取Microsoft Graph API的访问令牌以访问SharePoint文档库。我的应用程序是一个Windows服务,因此我遵循here描述的过程。
但是当我尝试获取访问令牌时,我得到的响应并没有范围值。以下是我的回复:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on":"1492452559",
"not_before": "1492448659",
"resource": "https://graph.microsoft.com",
"access_token": "Token"
}
因此,当我尝试使用此访问令牌查询Graph API时,我收到错误消息:令牌中需要存在scp或角色声明
有人可以帮我解决这个问题吗?提前谢谢。
答案 0 :(得分:0)
在使用客户端凭据流时,您的客户端应用程序似乎没有设置相应的应用程序权限,下面是Azure AD经典门户中应用程序权限部分的说明。请选择所需的适当权限并重试:
此外,在使用客户端凭据流获取访问令牌时,您可以检查访问令牌中的roles
声明(这是检查应用程序权限的方式,而不是在令牌响应中),使用像http://jwt.calebb.net/这样的工具来解码访问令牌并检查应用权限: