security - 如何在安全服务器的验证阶段区分 refresh_token 和 access_token?
问题描述
我知道概念和目的的区别,但在语法层面会发生什么?
让我们假设一个带有基本令牌响应的登录端点:
http://acme.com/login
{
"access_token": "AYjcyMzY3ZDhiNmJkNTY",
"refresh_token": "RjY2NjM5NzA2OWJjuE7c",
"expires_in": 3600
}
这两个令牌都是由安全服务器使用其算法(秘密和声明)生成的
所以当 access_token 过期时,我需要使用一些端点来更新它
http://acme.com/oauth/token
发送 refresh_token
在这一点上产生了我的问题
假设这些令牌具有不同的字符串值和不同的过期时间,但它们是使用相同的秘密、声明或算法生成的
而且我需要在安全服务器后端实现刷新令牌生成和验证。
如何区分 access_token 和 refresh_token ?
当前的解决方法
仅为 refresh_token添加一个额外的声明(例如type=refresh),因此当我在安全服务器中接收到令牌字符串并对其进行解码时,此声明对于确定接收到的字符串是否是 refresh_token 而不是 access_token 很有用。
解决方案
推荐阅读
- apache - Xdebug does not generate the log file
- asp.net - Razor HTML 页面声明 @model 的问题 - <
> 是一种类型,在给定的上下文中无效 - c++ - 动态更改 QApplication 样式文件
- python - 在python中创建新列并填充NaN
- c++ - 计算 STL 容器中两个迭代器之间的和
- typescript - 理解 Typescript 中的 React.FC
- python - 如果第一次递归中的语句没有运行递归函数
- python - Python 脚本在 Linux 上找不到与脚本放在同一文件夹中的文件
- javascript - addEventListener 到附加元素
- jenkins - GitHub 拉取请求生成器插件的问题