从identityserver4中的PersistedGrantStore密钥属性获取刷新令牌

时间:2018-06-08 13:56:18

标签: .net-core identityserver4

我已经实现了我自己的IPersistedGrantStore PostgresPersistedGrantStore,它在我的postgresql数据库中存储了grant,它的工作效果非常好。

现在我想要真正前进,我想从我的postgresql表中存储的key获取刷新令牌。但是根据我的阅读,它不是一个正确的refreshtoken,而是一个保护refreshtoken的哈希。有没有办法解密,从key属性读取刷新令牌,可能使用来自identityserver api的功能?

我正在尝试实现自己的模拟工作流程,因此使用我的数据库中持久存在的最新刷新令牌的任何用户都可以轻松登录

1 个答案:

答案 0 :(得分:-2)

Identity Server 4有一个内置端点 - <server_url>/Connect/Token

您需要向此端点发送POST请求,其中包含x-www-form-urlencoded正文类型,其中包含:

  • refresh_token:当前的refresh_token
  • client_id:您正在刷新
  • 令牌的客户端
  • client_secret:客户的秘密
  • grant_type:refresh_token

它会给你一个&#34;刷新&#34; access_token以及新的refresh_token。

您应该在登录后收到的初始refresh_token。请记住 - 一旦使用了refresh_token(获取新的access_token),它就会无效。这就是您收到端点的每个请求的新内容的原因。

Here是关于refresh_token本身的更多信息。 here - 关于令牌端点。