Azure AD 获得 Token 的时候得到 invalid_scope 的错误

完整的错误信息如下:

{
    "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.
Trace ID: 8a08a7db-d914-4012-8159-067fdc6e4900
Correlation ID: 78adae38-0ef1-4147-b30e-00e5e93bdac0
Timestamp: 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

原文地址:https://www.cnblogs.com/huyuchengus/p/13780127.html