Azure AD B2C自定义策略:SAML令牌生命周期与会话超时配置咨询
Azure AD B2C SAML自定义策略:会话与令牌生命周期配置
你的两个需求都可以实现,具体配置调整方案如下:
1. 设置4小时会话时长与空闲超时
你当前配置的SessionExpiryInSeconds为900秒(15分钟),只需将其修改为4小时对应的秒数(14400秒)即可。同时你已经设置了<SessionExpiryType>Rolling</SessionExpiryType>,这个配置正好对应空闲超时机制:用户每次与应用交互时,会话过期时间会自动重置;如果在14400秒内无任何交互,会话会自动断开,用户需要重新输入凭据登录。
修改后的UserJourneyBehaviors段如下:
<UserJourneyBehaviors> <SingleSignOn Scope="Application" /> <SessionExpiryType>Rolling</SessionExpiryType> <SessionExpiryInSeconds>14400</SessionExpiryInSeconds> </UserJourneyBehaviors>
2. 关闭浏览器后重新打开需再次验证
默认情况下Azure AD B2C的SAML会话使用持久Cookie,关闭浏览器后Cookie仍会保留,导致重新打开时无需验证。要实现关闭浏览器后会话失效,需在你的PolicyProfile技术配置文件中添加元数据配置,禁用持久会话:
<TechnicalProfile Id="PolicyProfile"> <DisplayName>PolicyProfile</DisplayName> <Protocol Name="SAML2" /> <Metadata> <Item Key="PersistentSessionEnabled">false</Item> </Metadata> <!-- 保留你原有的其他配置 --> </TechnicalProfile>
这个配置会将SAML会话Cookie设置为会话级Cookie,关闭浏览器后Cookie会被自动清除,用户重新打开浏览器访问应用时必须重新验证凭据。
另外,你提到未启用offline_access权限,这完全不影响上述配置的生效——offline_access用于获取刷新令牌以维持长期离线会话,而这里调整的是SAML的交互式会话生命周期,与该权限无关。
内容的提问来源于stack exchange,提问作者denisdm91
相关产品推荐
相关产品推荐

