刷新令牌Azure AD的授权无效(错误代码70000)
我正在使用Azure AD登录获取访问令牌,并能够使用其API REST向SharePoint Online发出请求 我能够获取此访问令牌,但是,当我尝试获取刷新令牌时,出现了一个错误 在这一刻,我正在用邮递员测试这一点 我正在做以下工作:刷新令牌Azure AD的授权无效(错误代码70000),azure,post,login,oauth-2.0,azure-active-directory,Azure,Post,Login,Oauth 2.0,Azure Active Directory,我正在使用Azure AD登录获取访问令牌,并能够使用其API REST向SharePoint Online发出请求 我能够获取此访问令牌,但是,当我尝试获取刷新令牌时,出现了一个错误 在这一刻,我正在用邮递员测试这一点 我正在做以下工作: 我开始调用下一个URL以获取代码: https://login.microsoftonline.com/{tenant}/oauth2/authorize?客户端\u id={client\u id}和客户端\u secret={client\u sec
- 我开始调用下一个URL以获取代码:
- 当我收到代码时,我会发布以下帖子:
- 我收到以下答复:
- 最后,我尝试通过以下帖子刷新令牌:
- 但在这一步中,我得到一个错误:
我已经检查过URL编码,没有URL编码,删除了客户端的_secret和重定向的_uri参数和其他东西,但我总是得到相同的错误。当然,我犯了一个愚蠢而明显的错误,但我看不出是哪一个。似乎您正试图使用
授权码和刷新令牌授予类型续订您的访问令牌
我已经部分重现了您遇到的错误。如下图所示:
可能的错误原因:
虽然确切的原因不得而知李>
我认为你粘贴的刷新令牌无效。在这种情况下
您可能会遇到此错误
您必须粘贴您在上一页上获得的刷新\u令牌
按部就班。确保你确实做到了
错误解决方法:
我正在分享实现你目标的确切方法。请查看以下步骤
步骤:1
我正在用邮递员处理这个案子。请启动邮递员并单击授权
选项卡,同时选择类型
作为OAuth 2.0
最后单击获取新访问令牌
。请参见下面的屏幕截图:
步骤:2
当您单击“获取新访问令牌”
时,系统将提示“新建”窗口,如下图所示。用你的证件填写这个
请求格式:
当您单击请求令牌
按钮时,将在登录窗口提示您。使用您的凭据登录
步骤:3
在登录之前,打开您的邮递员控制台
,如下所示:
一旦登录成功。你会得到你的代码
步骤:4
成功登录后,转到邮差控制台
请求正文
段。只需打开它并复制代码。请参见下面的屏幕截图:
步骤:5
复制您的code
并粘贴到authorization\u code
令牌请求code
文本框部分。您将获得您的access\u令牌
refresh\u令牌
和id\u令牌
请求格式:
客户端id:{ApplicationId}
作用域:{YourTokenScope}
重定向_uri:{YourAppURI}
授权类型:授权代码
客户端密码:{YourApplicationSecret}
代码:{codeofPreiousStep}
如下图所示:
步骤:6
此步骤复制上一阶段(步骤5
)中的刷新令牌
),并粘贴到刷新令牌
文本框旁边,同时请求授权类型:刷新令牌
请求。作为响应,您将获得新的访问\u令牌
和刷新\u令牌
请求格式:
客户端id:{ApplicationId}
作用域:{YourTokenScope}
重定向_uri:{YourAppURI}
授权类型:刷新令牌
客户端密码:{YourApplicationSecret}
刷新令牌:{上一步的刷新令牌}
请参见下面的屏幕截图:
注意:
确保您正在处理准确的code
和refresh-token
范围
令牌续订可选。您可以在无需付费的情况下续订代币
作用域,因为刷新令牌已包含您的作用域
如果您还有任何疑问,请随时与我们分享。谢谢,快乐编码 您似乎正在尝试使用授权码
和刷新令牌
授权类型续订访问令牌
我部分地再现了这个错误
https://login.microsoftonline.com/{tenant}/oauth2/authorize?client_id={client_id}&client_secret={client_secret}&response_type=code
POST /{tenant}/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
User-Agent: PostmanRuntime/7.13.0
Accept: */*
Cache-Control: no-cache
grant_type:authorization_code
client_id:{client_id}
client_secret:{client_secret}
code:{code_generated_previous_request}
redirect_uri:https://myapplication.com
resource:https://{mycompany}.sharepoint.com/
{
"token_type": "Bearer",
"scope": "AllSites.FullControl Directory.ReadWrite.All Group.ReadWrite.All Sites.FullControl.All Sites.Read.All User.Invite.All User.Read.All User.ReadWrite.All",
"expires_in": "3599",
"ext_expires_in": "3599",
"expires_on": "1559291698",
"not_before": "1559287798",
"resource": "https://{mycompany}.sharepoint.com/",
"access_token": "XXXXXXXX...",
"refresh_token": "YYYYYYYY...",
"id_token": "ZZZZZZZZ..."
}
POST /{tenant}/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
User-Agent: PostmanRuntime/7.13.0
Accept: */*
Cache-Control: no-cache
grant_type:refresh_token
client_id:{client_id}
client_secret:{client_secret}
refresh_token:YYYYYYYY...
redirect_uri:https://myapplication.com
"error": "invalid_grant",
"error_description": "AADSTS70000: Provided grant is invalid or malformed.\r\nTrace ID: XXXX\r\nCorrelation ID: XXXXX\r\nTimestamp: 2019-05-31 09:35:39Z",
"error_codes": [
70000
],
"timestamp": "2019-05-31 09:35:39Z",
"trace_id": "XXXX",
"correlation_id": "XXXX"
}
https://login.microsoftonline.com/{TenantId/Name}/oauth2/authorize?client_id={applicationId}&response_type=code&redirect_uri={yourURI}&response_mode=query&scope={yourScope}