访问令牌和刷新令牌

3
我正在使用Caspio REST API在移动应用程序中对我的用户进行身份验证。验证后,我会获得一个访问令牌,我会将其包含在我的AJAX调用中的参数“Authorization”下:Bearer [access token]。
我了解到可以使用给我的刷新令牌更新令牌,其中我可以使用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个回答

0

我以前从未使用过Caspio REST API。我的答案基于我的OAuth经验。

我的问题是:在使用POST调用获取新令牌之前,我必须存储访问令牌吗?

是的!OAuth 2.0在第一次使用访问令牌时切换刷新令牌。

我是否还应该在参数中包括客户端ID和客户端密钥?在使用Firefox的REST客户端时,我收到了错误的请求(400)错误。

根据API文档。您应该在请求中包括客户端ID和客户端密钥,就像大多数OAuth 2.0一样。

您可能会看到错误的请求(400)错误,您可以查看rfc6749以获取更多信息。


谢谢你的帮助!如果你不介意我问一下,我该如何存储访问令牌?我可以简单地创建一个变量access_token = [访问令牌],然后在我的post调用中包含它吗? - notapro
我认为你没有创建一个新的变量,只是将你获取到的access_token放在了参数refresh_token中。 - Wilhelm Liao
他们的网站建议将刷新令牌值放入刷新令牌参数中。 - notapro
如果这样的话,我也无能为力了。:( 根据我的经验,大多数情况下,在第一次请求时,刷新令牌通常会将访问令牌放在refresh_token参数中(在此之前您还没有获取到刷新令牌)。直到您获得了刷新令牌,然后您必须将您的刷新令牌放在refresh_token参数中以更新令牌。 - Wilhelm Liao
1
没关系!我非常感谢你的帮助! :) - notapro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接