访问和刷新令牌
Posted
技术标签:
【中文标题】访问和刷新令牌【英文标题】:Access and Refresh Tokens 【发布时间】:2018-08-01 16:04:41 【问题描述】:我正在使用 caspio rest api 在移动应用程序中对我的用户进行身份验证。身份验证后,我获得了一个访问令牌,我在 AJAX 调用中的参数“授权”下包含了该令牌:Bearer [访问令牌]。
我知道我可以使用提供给我的刷新令牌来更新令牌,我可以在其中使用 POST 调用。
我的问题是:在使用 POST 调用获取新令牌之前,我必须存储访问令牌吗?
此外,Caspio 网站建议 POST 调用采用这种格式:
Method: POST
URL: Token Endpoint
Body: grant_type=refresh_token&refresh_token= [token value]
Header parameters:
Authorization: Basic [string "Client_ID:Client_Secret" encoded in Base64]
Content-Type: application/x-www-form-urlencoded
我还应该在参数中包含客户端 ID 和客户端密码吗?使用 Firefox 的 REST 客户端时,我收到错误请求 (400) 错误。
感谢您的帮助!
【问题讨论】:
【参考方案1】:我以前从未使用过 caspio rest api。答案基于我的 OAuth 经验。
我的问题是:在使用 POST 调用获取新令牌之前,我必须存储访问令牌吗?
是的! OAuth 2.0 首次使用访问令牌切换刷新令牌。
我还应该在参数中包含客户端 ID 和客户端密码吗?使用 Firefox 的 REST 客户端时,我收到错误请求 (400) 错误。
根据api document。您应该在请求中包含客户端 ID 和客户端密码,就像大多数 OAuth 2.0 一样。
错误请求 (400) 错误您可能会看到 rfc6749 以查找更多信息。
【讨论】:
感谢您的帮助!如果您不介意我问我如何存储访问令牌?我可以简单地创建一个变量 access_token = [access token] 然后将其包含在我的 post call 中吗? 我认为你没有创建一个新变量,只是将你得到的 access_token 放在参数 refresh_token 中。 他们的网站建议将刷新令牌值放在刷新令牌参数中。 如果那样,我帮不了你。 :(根据我的经验,大多数刷新令牌总是在第一次请求时将访问令牌放入 refresh_token 参数中(您之前没有刷新令牌)。在您获得刷新令牌之前,您必须将刷新令牌放入 refresh_token 参数以更新令牌. 别担心!我真的很感激帮助! :)以上是关于访问和刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章