【发布时间】:2019-11-27 15:39:30
【问题描述】:
我将 identityserver4 与 ASP.NET Identity 结合使用,cookie 配置为 SlidingExpiration = true 和 ExpireTimeSpan = 20 分钟。我想在用户即将超时时向用户发出警告,因此我正在尝试访问 cookie 中的“.expiry”值。
到目前为止,我已经能够使用下面的 Razor 代码读取一个到期时间。 但是当用户刷新他们的票时,这无法读取正确的到期时间。根据Microsoft docsSlidingExpiration,如果我的用户在获得票证后刷新页面 10 分钟或更长时间(>= ExpireTimeSpan 的 50%),他们应该为我的用户提供新票证。它这样做很好,但是当它这样做时,下面的代码会提供旧的到期时间,直到用户第二次刷新页面!
@(DateTime.Parse(((await Context.AuthenticateAsync()).Properties.Items)[".expires"]))
我想知道的是如何在提供新票时生成的页面上获得正确的到期时间?
【问题讨论】:
标签: asp.net-identity asp.net-core-2.0 identityserver4 razor-pages