【问题标题】:Where identity server 4 persists reference tokens?身份服务器 4 在哪里保留引用令牌?
【发布时间】:2018-01-29 20:24:45
【问题描述】:

假设用户登录并在 2 小时到期后取回 access_token(参考),在此期间 ID4 重新启动。此时 access_token 是否有效?

(我没有使用实体框架)而是我自己的“IResourceOwnerPasswordValidator”实现。

如果是,如何以及在哪里? 如果没有,您知道如何通过 ID4 设计来克服吗?

【问题讨论】:

    标签: identityserver4


    【解决方案1】:

    令牌是PersistedGrant 的一种类型,由IPersistedGrantStore 接口的某些实现管理。它没有很好的文档,仅在部署主题的Operational Data 部分中提到,但它相对简单。我不喜欢实体框架,幸运的是,Identity Server 持久性很容易自己编写(我最近写了一篇关于它的博客 here),你只需要实现所有各种存储(加上你想要保存的任何内容与登录后创建的基本身份详细信息相关联的用户帐户)。

    这里是接口定义:IPersistedGrantStore

    这是它存储的数据:PersistedGrant

    您必须在Startup.cs 中将您的商店注册为临时服务:

    services.AddTransient<IPersistedGrantStore, PersistedGrantStore>();
    

    【讨论】:

    • @eugeneK 已编辑以添加服务要求。现在我(大部分)已经弄清楚了 Identity Server 和 OIDC,我正试图帮助尽可能多的其他人。他们的文档非常好,但幕后仍有很多事情被掩盖了。如果这让您走上正轨,请接受作为答案。
    猜你喜欢
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2017-04-07
    • 1970-01-01
    • 2020-08-21
    相关资源
    最近更新 更多