首页 > 解决方案 > ADB2C - 浏览器关闭后如何在 .NET Core webapp 中保持登录状态

问题描述

我正在使用 ADB2C(IEF 自定义策略和用户流程)使用 OpenID (OIDC) 在 .NET Core WebApp 上实现登录。

当用户登录我的应用程序时,我可以使用标准检查他们的登录状态

User.Identity.IsAuthenticated

但是,如果我关闭浏览器并在一段时间后返回应用程序,用户的登录状态将丢失,直到我访问登录策略,此时它会自动登录。

是否有一种简单的方法可以在 cookie 中更长时间地保留身份验证状态,从而不需要此步骤?我在一些地方读到有一种方法可以将其保存 90 天,但找不到太多有关如何实现此功能的信息。

标签: .net-coreasp.net-core-mvcazure-ad-b2c

解决方案


在 B2C 中,您可以配置的最大 cookie 会话时间是1440 Minutes对于配置会话行为,请查看文档用户流自定义策略

Web app session lifetime (minutes) - The lifetime of Azure AD B2C's session cookie stored on the user's browser upon successful authentication.
•   Default = 1440 minutes.
•   Minimum (inclusive) = 15 minutes.
•   Maximum (inclusive) = 1440 minutes.

有一项Keep me signed-in功能可以通过使用持久 cookie 来延长会话的生命周期。用户关闭并重新打开浏览器后,会话保持活动状态。仅当用户注销时才会撤销会话。保持登录状态仅适用于使用本地帐户登录。请参阅文档以获取更多信息。

关于 90 天的持久令牌生命周期,它与该配置的Azure AD SSO 会话令牌有关,您可以参考文档


推荐阅读