.net-core - ADB2C - 浏览器关闭后如何在 .NET Core webapp 中保持登录状态
问题描述
我正在使用 ADB2C(IEF 自定义策略和用户流程)使用 OpenID (OIDC) 在 .NET Core WebApp 上实现登录。
当用户登录我的应用程序时,我可以使用标准检查他们的登录状态
User.Identity.IsAuthenticated
但是,如果我关闭浏览器并在一段时间后返回应用程序,用户的登录状态将丢失,直到我访问登录策略,此时它会自动登录。
是否有一种简单的方法可以在 cookie 中更长时间地保留身份验证状态,从而不需要此步骤?我在一些地方读到有一种方法可以将其保存 90 天,但找不到太多有关如何实现此功能的信息。
解决方案
在 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 会话令牌有关,您可以参考文档
推荐阅读
- python - ImportError:没有名为 firebase_admin 的模块,同时尝试将数据提交到数据流中的 firestore
- java - Java Regex 匹配整个单词与特殊字符的任意组合
- c# - EF6 - 一对零或一关系 - 自己的主键和 CascadeDelete
- google-bigquery - > 运算符中的子查询结果
- laravel - Laravel 客户支持与第三方 Pusher 聊天
- webserver - Nginx 端口转发,使用 uwsgi 瓶
- javascript - 由于长时间运行的 SQL 过程,来自 Angular 的 POST 导致的 Nodejs 错误
- python - 在 Azure Python 中的两个日期列之间查找日期
- vb.net - TableAdapter 预览和填充/获取
- python - 通过 FacebookBusiness SDK 获得 Instagram 广告洞察