You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAML响应中NotOnOrAfter条件的来源与修改位置咨询

SAML断言NotOnOrAfter超时问题排查与解决

问题描述

我有一个客户环境,SAML响应中的NotOnOrAfter条件始终为登录后5分钟。身份提供商(IdP)是Okta,服务提供商(SP)为Shibboleth SP 3。我在Shibboleth端没找到添加该条件的配置,Okta方称并未发送这个条件,但我对此存疑。

我尝试添加忽略该条件的PolicyRules,还是存在5分钟超时问题:

<PolicyRule type="Ignore">saml2:NotOnOrAfter</PolicyRule>

请问该超时条件是由IdP还是SP添加的?可以在何处修改?

附SAML响应片段:

<saml2:Subject xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
    <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">userid</saml2:NameID>
    <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <saml2:SubjectConfirmationData InResponseTo="_bb4020da3209979ab2c018077ec29894"
                                       NotOnOrAfter="2023-02-07T21:25:38.782Z"
                                       Recipient=https://sitename.com/Shibboleth.sso/SAML2/POST/>
    </saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                  NotBefore="2023-02-07T21:15:38.782Z"
                  NotOnOrAfter="2023-02-07T21:25:38.782Z">
    <saml2:AudienceRestriction>
        <saml2:Audience>https://sitename.com/shibboleth</saml2:Audience>
    </saml2:AudienceRestriction>
</saml2:Conditions>

分析与解决

1. 超时条件的归属

从提供的SAML响应片段来看,NotOnOrAfter同时出现在<SubjectConfirmationData>和<Conditions>节点中,这两个字段均由Okta(IdP)生成并发送。

Shibboleth SP作为服务端,默认不会主动添加这类断言级别的时间限制,仅负责验证IdP发送的条件。你添加的Ignore规则无效,是因为该规则针对的是Shibboleth自身的会话策略,而非忽略IdP断言中的NotOnOrAfter字段——SP会先验证断言合法性,断言过期后直接拒绝,不会触发忽略策略。

2. 修改位置

Okta侧调整断言过期时间

  • 登录Okta管理后台,找到对应SAML应用集成。
  • 进入Sign On标签页,点击Edit编辑SAML设置。
  • 在Advanced Settings中找到Assertion Expiration选项,默认值为5分钟,修改为所需时长(如60分钟)。
  • 保存配置后重新发起SAML登录,验证响应中的NotOnOrAfter是否更新。

补充:Shibboleth会话超时调整(可选)

若需在SP侧控制用户本地会话时长,修改Shibboleth的shibboleth2.xml配置:

  • 找到<Sessions>节点,调整timeout属性(单位为秒),例如设置为3600(1小时):
<Sessions lifetime="28800" timeout="3600" relayState="ss:mem" checkAddress="false">
  • 注意:该设置仅控制SP本地会话,无法覆盖IdP断言的过期时间,需确保IdP断言过期时间不短于SP会话超时,否则用户会因断言提前过期被强制登出。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:42:51