完整的错误信息如下:
{
"error": "invalid_scope",
"error_description": "AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope api://4ab1a0b7-da1d-423d-9fc3-e3a6fabd98af/access_as_user is not valid.\r\nTrace ID: 8a08a7db-d914-4012-8159-067fdc6e4900\r\nCorrelation ID: 78adae38-0ef1-4147-b30e-00e5e93bdac0\r\nTimestamp: 2020-10-07 19:42:27Z",
"error_codes": [
70011
],
"timestamp": "2020-10-07 19:42:27Z",
"trace_id": "8a08a7db-d914-4012-8159-067fdc6e4900",
"correlation_id": "78adae38-0ef1-4147-b30e-00e5e93bdac0"
}
下图是我们发送的数据和返回的错误信息。
这里错误的关键因素是你的 scope
可能是你的 scope 已经注册了,但是在获得 token 的时候不能使用上面的 scope。
你需要将你的 scope 从
api://4ab1a0b7-da1d-423d-9fc3-e3a6fabd98af/access_as_user
修改为
api://4ab1a0b7-da1d-423d-9fc3-e3a6fabd98af/.default
上面修改表示的意思是,你只能使用以 /.default 结尾 来访问获得 token 字符串。
请比较上面的 scope 就比较明确的了解需要的。
https://www.ossez.com/t/azure-ad-token-invalid-scope/559