.net-core - 从 identityserver4 中的 PersistedGrantStore 密钥属性获取刷新令牌
问题描述
我已经在我的 postgresql 数据库中实现了我自己IPersistedGrantStore
的PostgresPersistedGrantStore
存储授权,它工作得非常好。
现在我想真正向前迈进,我想从key
我的 postgresql 表中存储的刷新令牌中获取刷新令牌。但从我读到的内容来看,它不是一个适当的刷新令牌,而是一个保护刷新令牌的哈希。有没有办法解密,从key
属性中读取刷新令牌,可能使用来自identityserver api的功能?
我正在尝试实现自己的模拟工作流程,因此使用数据库中存在的最新刷新令牌的任何用户都可以轻松登录
解决方案
Identity Server 4 对此有一个内置端点 - <server_url>/Connect/Token
.
您需要向该端点发送一个 POST 请求,其x-www-form-urlencoded
正文类型包括:
- refresh_token:当前的 refresh_token
- client_id:您正在为其刷新令牌的客户端
- client_secret:客户端的秘密
- 授予类型:刷新令牌
它会给你一个“刷新”的 access_token 以及一个新的 refresh_token。
登录后您应该收到的初始 refresh_token。请记住 - 一旦使用 refresh_token(获取新的 access_token),它就会失效。这就是为什么您在对端点的每个请求中都会收到一个新的。
推荐阅读
- r - 分类变量计数的热图
- php - 如何在 centos 6.9 上使用 phpv5.3.3 安装和配置 phpcpp 遗留模块
- git - 尽管 .gitignore,GitHub 还是导出了太多对象
- reactjs - Semantic UI Sidebar.Pushable 不会更新页面内容
- ruby - 为#获取未定义的方法`_'
- php - 我如何将 5.0E+22 转换为 php 中的字符串
- javascript - 请求失败后 AmCharts 重新加载
- scala - 如何在火花中将 JSON 读取到 DF 时处理丢失的 json 对象类型
- javascript - AngularJS UI-Router 0.X 问题获取一个 if 语句以在初始应用程序加载时触发
- r - 如何在 R 的 readline 处输入不同的变量作为输入?