我是否应该显式发送刷新令牌来获取新的访问令牌 - JWT

2024-06-25

在我的应用程序中,当用户成功登录时,我返回访问令牌和刷新令牌。访问令牌和刷新令牌的过期时间已分别设置为 10 分钟和 40 分钟。 (我应该对这些值做更多研究。这只是为了测试)

我使用了下面文章中描述的实现

http://www.svlada.com/jwt-token-authentication-with-spring-boot/ http://www.svlada.com/jwt-token-authentication-with-spring-boot/

假设我在登录 10 分钟后向服务器发出请求。由于访问令牌已过期,我收到 401 错误响应。

但是,作为初学者,我发现很难理解是否需要显式发送刷新令牌才能获取新的访问令牌。如果我应该这样做,该怎么做?我应该发送刷新令牌作为什么?一个标题?

或者,当我的请求因访问令牌过期而被服务器拒绝时,刷新令牌本身是否应该自动向服务器发送请求以获取新的访问令牌?

我发现很难从我在网上找到的资源来理解刷新令牌行为的本质。请向我澄清这些问题。


是的,刷新令牌用于获取新的访问令牌。

当您第一次请求访问令牌时,通常首先向令牌端点发送令牌请求,以防出现所谓的Resource Owner Password Credentials Grant在请求标头中包含用户凭据,例如

grant_type=password&username=user1&passowrd=very_secret

当访问令牌过期时,您必须请求新的访问令牌。这次,使用仍然有效的刷新令牌,您不再需要用户凭据,而是发送

grant_type=refresh_token&refresh_token=<your refresh token>

反而。 这样您就不需要在客户端存储用户凭据,也不需要再次通过登录过程打扰用户。 正如您所知的到期时间,您还可以实现一种机制,在 access_token 到期之前刷新您的令牌。

此外,您可以阅读此内容以获取有关该主题的更多信息:https://auth0.com/learn/refresh-tokens/ https://auth0.com/learn/refresh-tokens/

下面的教程中还有如何在 postman 中使用刷新令牌的屏幕截图:http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/ http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/(向下滚动至步骤 6) 一般来说,我建议阅读 Taiseer Joudeh 的教程,尤其是。适用于 C#、ASP.NET u 和 Angular 程序员。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是否应该显式发送刷新令牌来获取新的访问令牌 - JWT 的相关文章

随机推荐

  • 会话未设置,还是session_destroy? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 中的 session unset 和 session destroy 有什么区别 https stackoverflow com questions 4303311 what is the d
  • 错误 1066:无法打开别名 - Pig 的迭代器

    刚开始养猪 尝试从文件加载数据并转储它 加载似乎正确 没有抛出任何错误 下面是查询 NYSE 使用 LOAD root Desktop Works NYSE 2000 2001 tsv PigStorage AS 交换 chararray
  • 如何让EF全局记录sql查询?

    我该如何 告诉 EF全局记录查询 我正在读这篇博文 EF 日志记录 http blog oneunicorn com 2013 05 08 ef6 sql logging part 1 simple logging 它一般告诉我们如何记录s
  • 按 SKU 对购物车 WooCommerce 中产品列表底部的产品进行排序

    在 WooCommerce 中 我使用一个代码来显示牛排重量选择表单 保存选择数据并在编辑订单和电子邮件通知时在购物车 结账页面上显示此数据 我的代码还与在将任何产品添加到购物车时自动添加包装的代码相结合 添加包装发生在 SKU 上 Dis
  • 将 UIWebView 标题发送到 UINavigationBar

    我正在尝试将 UIWebView 页面标题发送到 UINavigationBar 如果用户单击链接 UINavigationBar 显示后退按钮 但如果在主页上隐藏后退按钮 我也希望如此 要将标题页检索到 UIWebView 中 您可以使用
  • 了解参考处理程序线程

    我正在继续深入了解 Java 线程 不幸的是我的 Java 认证没有涵盖这一部分 所以唯一的学习方法就是发布一系列愚蠢的问题 经过这么多年的 Java 开发 我有时想知道我还需要学习多少 我现在特别关注引用处理程序线程 Reference
  • 打字。任何 vs 对象?

    使用之间有什么区别吗typing Any相对于object在打字 例如 def get item L list i int gt typing Any return L i 相比 def get item L list i int gt o
  • 如何快速将 void 块传递给 objc_setAssociatedObject

    我正在尝试通过扩展向 UIView 添加点击手势支持 使用 Objective C 非常简单 但是当我尝试在运行时属性上设置 void 返回块时 出现以下错误 错误 类型 gt Void 不符合协议 AnyObject 这是计算的属性 va
  • 如何计算整数中零位的数量?

    我将如何找到 C 中 零 位的数量 假设我有一个整数 int value 276 我有位 100010100 但是如何计算零呢 如果你想要效率 那么 Hackers Delight 一书中有一个很好的实现 22条指令无分支 unsigned
  • 如何使用javascript计算另一个div内的div总数

    如何计算总数div包含在另一个元素中的元素div使用JavaScript The getElementsByTagName 不仅是一个document方法 但可以在任何 DOM 元素上运行 element 按标签名称获取元素是 如同docu
  • 生成多边形内的坐标

    我想将多边形的值分组到一个精细的规则网格中 例如 我有以下坐标 data 2 353 data lats np array 57 81000137 58 15999985 58 13000107 57 77999878 data lons
  • 通过 Javascript 在聚合物元素模板内添加或附加 HTML

    为了使轮播功能在 Polymer 元素内部工作 我以编程方式在元素脚本内部创建 Slick 轮播所需的标记 假设在此代码片段中 this videos 已作为包含 youtube 视频信息的对象数组加载 特别是 id 和 name 属性 C
  • 如何在每次输入退出或取消时中断表单流程?

    我正在使用 BotFramework 在 Net C 中创建一个聊天机器人 在我的一个对话框中 当我开始填写表单流程时 我无法退出流程 直到我填写所有流程为止 是否存在退出和离开表格的可能性 这是我的代码 路易斯对话框 cs LuisInt
  • 注销不会在 FOSUserBundle 中正确销毁/清除会话

    我遇到了一些问题 不知道为什么 当我从由 FOSUserBundle 处理的应用程序注销时 因为当前会话永远不会被破坏 甚至不清楚当我重新登录时会导致问题 因为我在会话上存储了一些数据 这就是我的security yml好像 securit
  • Windows / Powershell 将程序版本获取到变量中

    我很接近 但不在那儿 我可以通过 powershell 获取应用程序的版本 但它附带一堆文本 这个命令 powershell NoLogo NoProfile Command get item Path c myapp exe Versio
  • Material UI + 酶测组件

    我在 React 中有一个组件 我正在尝试用 Jest 测试它 不幸的是测试没有通过 组件代码 import React Component from react import ProductItem from ProductItem Pr
  • 如何在 Kendo UI 网格中合并单元格

    我在 Kendo UI 的官方文档中没有看到任何内容 只是检查是否有人进行了自定义以合并 Kendo UI 网格中的单元格 我有这样的内容 Technology Core Language Communication 15 Technolo
  • 安装 sqlite3 公共密钥环时出错,未找到

    怎么了 我该如何安装它 PS C Users luism gt gem install sqlite3 暂时增强 MSYS MINGW 的 PATH 安装所需的 msys2 软件包 mingw w64 x86 64 sqlite3 警告 未
  • 对 python 中 libsvm/scikit-learn 库的某些功能进行建模的一些疑问

    我已经抓取了很多 eBay 标题 例如 Apple iPhone 5 White 16GB Dual Core 我已经用这种方式手动标记了所有这些 B M C S NA 其中 B 品牌 Apple M 型号 iPhone 5 C 颜色 白色
  • 我是否应该显式发送刷新令牌来获取新的访问令牌 - JWT

    在我的应用程序中 当用户成功登录时 我返回访问令牌和刷新令牌 访问令牌和刷新令牌的过期时间已分别设置为 10 分钟和 40 分钟 我应该对这些值做更多研究 这只是为了测试 我使用了下面文章中描述的实现 http www svlada com