Cookies 如何对齐客户端和IdentityServer Cookie

Cookies 如何对齐客户端和IdentityServer Cookie,cookies,identityserver4,Cookies,Identityserver4,我正在通过IdentityServer将ASP.NET web应用程序从表单身份验证转移到OIDC身份验证,并使用隐式流获取ID令牌。Forms authentication在client web.config中有“timeout”和“slidingExpiration”等选项,我正在寻找一种方法来确保客户端在使用IdentityServer时同样可配置 我知道在这个场景中有两个独立的cookie管理系统——客户端和IdentityServer。我希望尽可能地将它们对齐,并在一个地方配置这些选项

我正在通过IdentityServer将ASP.NET web应用程序从表单身份验证转移到OIDC身份验证,并使用隐式流获取ID令牌。Forms authentication在client web.config中有“timeout”和“slidingExpiration”等选项,我正在寻找一种方法来确保客户端在使用IdentityServer时同样可配置

我知道在这个场景中有两个独立的cookie管理系统——客户端和IdentityServer。我希望尽可能地将它们对齐,并在一个地方配置这些选项。这可以是任一端,一方将责任交给另一方

我探讨过的一个选项是在两端设置UseTokenLifetime=true,然后使用IdentityServer客户端属性IdentityTokenLifetime为客户端配置超时。然后,这两个cookie应在IdentityTokenLifetime指定的同一时间过期。当客户端的cookie超时时,它将重定向到IdentityServer进行身份验证,其中将显示登录提示,因为它自己的cookie也将过期。然而,我不认为这允许滑动过期选项

另一个选项可能是将UseTokenLifetime设置回false,在客户端cookie中间件中配置cookie选项,并确保客户端在进行身份验证时发送prompt=login。这意味着,即使IdentityServer具有与客户端不匹配的cookie设置(例如,IdentityServer cookie在客户端过期后仍然有效),它仍将始终显示登录提示。这样做的缺点似乎是,如果我添加更多的客户端,它将禁止SSO,因为它们总是必须为每个客户端登录

如果您对此有任何想法,我将不胜感激

谢谢