Azure AD OAuth 令牌刷新给出错误 AADSTS50000
Azure AD OAuth token refresh gives error AADSTS50000
认证成功后,我想刷新我的授权令牌,所以我发出以下请求
curl -X POST \
https://login.microsoftonline.com/<my-tenant>/oauth2/v2.0/token \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-F grant_type=refresh_token \
-F refresh_token=<my-refresh-token> \
-F client_id=<my-client-id> \
-F client_secret=<my-client-secret>
但是,我没有返回新令牌,而是收到以下响应:
{
"error": "server_error",
"error_description": "AADSTS50000: There was an error issuing a token.\r\nTrace ID: bb72ee21-7df2-4949-8375-e6d97b621300\r\nCorrelation ID: 719ea759-622b-4d63-be17-56fd6c255195\r\nTimestamp: 2018-06-15 09:07:13Z",
"error_codes": [
50000
],
"timestamp": "2018-06-15 09:07:13Z",
"trace_id": "bb72ee21-7df2-4949-8375-e6d97b621300",
"correlation_id": "719ea759-622b-4d63-be17-56fd6c255195"
}
tenant、client id 和client secret 都与获取刷新令牌时使用的相同。然而,显然缺少或不正确的东西 - 但是什么?
您缺少必需的 scope
参数 as described here。
您还需要提供 redirect_uri
,尽管您只是提出 POST 请求。
并且 redirect_uri
必须与原始授权调用中使用的 redirect_uri
匹配。
刷新访问令牌时,您必须提供要获取令牌的范围。还要确保您了解只能刷新 access_token,而不能刷新 id_token。 access_token 总是有一个目的(范围)。
文档中描述的所有内容。
认证成功后,我想刷新我的授权令牌,所以我发出以下请求
curl -X POST \
https://login.microsoftonline.com/<my-tenant>/oauth2/v2.0/token \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-F grant_type=refresh_token \
-F refresh_token=<my-refresh-token> \
-F client_id=<my-client-id> \
-F client_secret=<my-client-secret>
但是,我没有返回新令牌,而是收到以下响应:
{
"error": "server_error",
"error_description": "AADSTS50000: There was an error issuing a token.\r\nTrace ID: bb72ee21-7df2-4949-8375-e6d97b621300\r\nCorrelation ID: 719ea759-622b-4d63-be17-56fd6c255195\r\nTimestamp: 2018-06-15 09:07:13Z",
"error_codes": [
50000
],
"timestamp": "2018-06-15 09:07:13Z",
"trace_id": "bb72ee21-7df2-4949-8375-e6d97b621300",
"correlation_id": "719ea759-622b-4d63-be17-56fd6c255195"
}
tenant、client id 和client secret 都与获取刷新令牌时使用的相同。然而,显然缺少或不正确的东西 - 但是什么?
您缺少必需的 scope
参数 as described here。
您还需要提供 redirect_uri
,尽管您只是提出 POST 请求。
并且 redirect_uri
必须与原始授权调用中使用的 redirect_uri
匹配。
刷新访问令牌时,您必须提供要获取令牌的范围。还要确保您了解只能刷新 access_token,而不能刷新 id_token。 access_token 总是有一个目的(范围)。
文档中描述的所有内容。