【问题标题】:Refresh token revocation after it was expired过期后刷新令牌吊销
【发布时间】:2018-02-10 16:18:14
【问题描述】:

我在“刷新令牌”过期后撤销它时遇到问题。我有一个标准表“OpenIddict Tokens”,其中 openiddict 存储令牌。在我配置 OpenIddict 的 Startup 类中,我设置了:

.SetRefreshTokenLifetime(TimeSpan.FromSeconds(1)) // It is just for check revocation of token 

/connect/token 收到令牌后,我立即尝试刷新我的令牌。我收到“指定的刷新令牌不再有效”错误,我注意到在数据库中仍然有关于过期刷新令牌的注释。

它应该保留在那里还是应该从数据库中删除?

【问题讨论】:

    标签: oauth asp.net-core openiddict


    【解决方案1】:

    只有access token 可以使用refresh token 刷新。在实践中,刷新令牌是长期存在的,因为它代表资源所有者授予客户端的授权。并且过期/列入黑名单的刷新令牌意味着客户端访问被撤销。

    换句话说,如果客户端的刷新令牌过期,它必须再次进行身份验证并接收一对新的访问/刷新令牌才能访问资源。

    【讨论】:

    • 感谢您的回复!请告诉我,如何从 OpenIddictTokens 表中删除带有无效令牌的行?我应该自己做吗?或者这是 OpenIddict 的工作?
    • @syler 尝试使用内置的OpenIddictTokenManager.RevokeAsync method。并且访问令牌不存储在数据库中。
    猜你喜欢
    • 2021-05-09
    • 1970-01-01
    • 2021-10-05
    • 2019-01-21
    • 2018-06-05
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多