Azure B2C事件日志:能否在Azure门户中像查看登录记录一样查看用户登出记录?
Azure B2C 登出记录查询实现说明
首先明确结论:开箱即用(OOB)的Azure门户原生Azure B2C解决方案没有提供独立的用户登出记录查询能力,无法直接像查看登录记录一样获取带日期时间戳的登出日志。
你可以参考以下几种实现思路自行落地:
实现思路
- 方案1:自定义用户流/自定义策略埋点上报
如果你使用的是B2C自定义用户流,可在登出流程节点中添加自定义事件上报逻辑,将用户ID、登出时间戳、会话ID等信息上报到关联的Application Insights实例中,后续直接在App Insights中筛选查询对应登出事件即可。
如果你使用的是自定义策略(IEF),可在登出流程对应的技术配置文件中新增ClaimsExchange步骤,调用REST API或Application Insights上报接口,持久化存储登出上下文信息,后续可自行搭建可视化查询面板。 - 方案2:应用侧主动上报登出事件
这是实现成本最低的方案:在业务应用的登出按钮触发逻辑中,除了调用Azure B2C的登出端点之外,新增自定义日志上报逻辑,将当前登录用户ID、登出时间、设备信息等内容上报到自有日志系统或Azure Monitor中即可按需查询。 - 方案3:近似时间推导(仅适配低精度要求场景)
如果不需要精确的登出时间,可结合原生登录日志中记录的会话颁发时间,搭配你配置的令牌有效期、会话Cookie有效期,再匹配应用侧的用户最后活跃请求记录,推导得到用户的近似登出时间,该方案不需要修改B2C侧配置。
补充说明
Azure AD B2C原生不提供登出日志的核心原因是登出场景存在大量被动触发情况:比如用户直接关闭浏览器、会话过期自动失效等,B2C侧不会主动捕获这类非主动触发的登出行为,因此没有对应的OOB日志能力。
内容的提问来源于stack exchange,提问作者indyanin
相关产品推荐
相关产品推荐

