javascript - 在 ajax 发布请求中使用刷新令牌
问题描述
我目前只能访问网站的一部分(表单)并且我应该使用 OAuth 2。我能够获取访问令牌并且我能够将数据发布到客户端的 api 但是,他们想要我在访问令牌过期后使用刷新令牌。由于我只能访问客户端,我在 ajax 调用中在哪里添加刷新令牌?除了这样做很危险,我似乎找不到任何东西。
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer RANDOMSTRING"
}
解决方案
首先是的,在客户端存储刷新令牌不是一个好习惯,因为通常过期时间很长。如果您必须在客户端上存储此令牌,则必须采取预防措施。
API 不应允许使用刷新令牌请求资源,此令牌必须仅用于获取新的访问令牌。
有几种方法可以传递刷新令牌,具体取决于 API,但最常见的是将 grant_type 设置为 refresh_token。
在 OAuth 中,基本流程如下:
- 您使用访问令牌发送请求
- 如果响应表明令牌不再有效,您必须发送刷新令牌以获取新的访问令牌
- 您使用新的访问令牌重新发送请求
希望这可以帮助
有关刷新令牌的更多信息:https ://auth0.com/learn/refresh-tokens/
推荐阅读
- ruby-on-rails - 在运行时覆盖 ActionMailer::Base.smtp_settings,仅适用于当前会话?
- php - php IntlDateFormatter 无法按预期工作
- firebase-realtime-database - Dart Null Coalescing 不返回默认值
- c# - 无法从抽象 System.Drawing.Image 类派生类
- r - 如何在 R 中使用“显示更多”属性从网站上抓取文本?
- c# - 在 C# try-finally 中如何捕获原始异常
- java - 从 String 的 getchars() 方法创建的 char 数组的最后一个字符更改为不同的字符
- php - Laravel 注册失败且没有错误
- c - 不带参数调用 exit()
- c# - 从多个局部视图收集用户输入数据