如何在使用 IdentityServer4.Contrib.RedisStore 时为刷新令牌添加 TTL

How to add TTL for refresh token when using IdentityServer4.Contrib.RedisStore

提问人:Sandeep Manchukonda 提问时间:11/17/2023 最后编辑:Kuro NekoSandeep Manchukonda 更新时间:11/20/2023 访问量:11

问:

我在我的应用程序中使用 IdentityServer4 和 IdentityServer4.Contrib.RedisStore。在 startup.cs 中,我添加了 KeyPrefix 和配置选项。所有刷新令牌都存储在带有前缀的 Redis 中。但是,我找不到为键添加 TTL 的方法。

我的代码:

services.AddIdentityServer(options =>
            {
               ...//some code
            })
            .AddOperationalStore(opt =>
             {
               opt.ConfigurationOptions = redisOptions;
               opt.KeyPrefix = "MyAPP";
            });

有人请告诉我如何为所有键配置 TTL 值。

将 TTL 值添加到存储在 Redis 中的所有refresh_tokens的一些解决方案。

C# IdentityServer4 堆栈Exchange.Redis

评论


答:

1赞 Tore Nestenius 11/17/2023 #1

在 IdentityServer 中,令牌生存期在客户端定义中进行控制。

有关详细信息,请参阅 https://docs.duendesoftware.com/identityserver/v6/reference/models/client/

评论

0赞 Sandeep Manchukonda 12/5/2023
谢谢你的回答。这解决了我的问题。
0赞 Tore Nestenius 12/5/2023
伟大!很高兴我的回答有所帮助!如果它回答了您的问题,Freel 可以自由地接受我的回答。
0赞 Sandeep Manchukonda 12/5/2023
你能回答这个问题吗?stackoverflow.com/questions/77605745/......
0赞 Tore Nestenius 12/6/2023
认为对这个问题的评论是正确的;您有一个与 IdentityServer 的单独 cookie 会话,该会话可以根据客户端配置以静默方式在用户/客户端中登录,而不涉及当前用户。使用 Fiddler 等工具可以更好地了解浏览器/客户端/IdentityServer 之间的流量。