首页 > 解决方案 > 在 ajax 发布请求中使用刷新令牌

问题描述

我目前只能访问网站的一部分(表单)并且我应该使用 OAuth 2。我能够获取访问令牌并且我能够将数据发布到客户端的 api 但是,他们想要我在访问令牌过期后使用刷新令牌。由于我只能访问客户端,我在 ajax 调用中在哪里添加刷新令牌?除了这样做很危险,我似乎找不到任何东西。

"headers": {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer RANDOMSTRING"
}

标签: javascriptajaxoauth-2.0

解决方案


首先是的,在客户端存储刷新令牌不是一个好习惯,因为通常过期时间很长。如果您必须在客户端上存储此令牌,则必须采取预防措施。

API 不应允许使用刷新令牌请求资源,此令牌必须仅用于获取新的访问令牌。

有几种方法可以传递刷新令牌,具体取决于 API,但最常见的是将 grant_type 设置为 refresh_token。

在 OAuth 中,基本流程如下:

  1. 您使用访问令牌发送请求
  2. 如果响应表明令牌不再有效,您必须发送刷新令牌以获取新的访问令牌
  3. 您使用新的访问令牌重新发送请求

希望这可以帮助

有关刷新令牌的更多信息:https ://auth0.com/learn/refresh-tokens/


推荐阅读