我們擁有IdentityServer4,作爲客戶端的MVC應用程序和作爲受保護資源的API。 Client
(IdentityServer中的類)具有以下屬性:AccessTokenLifetime
,IdentityTokenLifetime
,AuthorizationCodeLifetime
。 如果我們將這些屬性設置爲不同的值(想象1小時,2小時和3小時)。這些屬性如何與Cookie到期時間跨度相關聯?IdentityServer中的Cookie中間件和令牌生存期
Cookie中間件(在MVC客戶端上)看起來像這樣,並且過期時間爲8小時。 IdentityServer上的cookie中間件的過期時間爲10小時。
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = "Cookies",
AutomaticAuthenticate = true,
ExpireTimeSpan = TimeSpan.FromHours(8)
});
當cookie過期之前令牌過期,反之亦然,應如何處理?
我知道如果令牌過期,客戶端需要從服務器請求一個新的令牌。但是,當客戶端上的cookie過期或者是滑動cookie並且令牌仍然有效時會發生什麼? – user1336
如果客戶端cookie在令牌之前過期,則不會發生任何特殊情況。如果他們不再被認證(沒有cookie),那麼他們可能不會碰到需要授權的端點(使用令牌)。這種情況完全是客戶端應用程序的責任和決定如何處理。 –