Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Saml 主题中的NOTOROAFTER确认数据和条件以及会话NOTOROAFTER_Saml_Saml 2.0 - Fatal编程技术网

Saml 主题中的NOTOROAFTER确认数据和条件以及会话NOTOROAFTER

Saml 主题中的NOTOROAFTER确认数据和条件以及会话NOTOROAFTER,saml,saml-2.0,Saml,Saml 2.0,在SAML2规范中,断言中有几个地方可以指定生存期 元素包含一个notonAfter属性 元素包含一个notonAfter属性 。我在这里包括了我能找到的描述这些属性的部分 SubjectConfirmationData/@notorafter 无法再确认对象的时刻。时间值以UTC编码,如第1.3.3节所述 请注意,由可选的NotBefore和NotNorAfter属性指定的时间段(如果存在)应该在元素的NotBefore和NotNorAfter属性指定的整个断言有效期内。如果两个属性都存在,

在SAML2规范中,断言中有几个地方可以指定生存期

  • 元素包含一个
    notonAfter
    属性
  • 元素包含一个
    notonAfter
    属性
  • 。我在这里包括了我能找到的描述这些属性的部分

    SubjectConfirmationData/@notorafter 无法再确认对象的时刻。时间值以UTC编码,如第1.3.3节所述

    请注意,由可选的NotBefore和NotNorAfter属性指定的时间段(如果存在)应该在元素的NotBefore和NotNorAfter属性指定的整个断言有效期内。如果两个属性都存在,则NotBefore的值必须小于(早于)NotNorAfter的值

    条件/@NOTONORFERT 指定断言过期的时间。时间值以UTC编码,如第1.3.3节所述

    NotBefore和NotNorAfter属性指定断言在其使用概要文件上下文中的有效性的时间限制。他们不保证断言中的陈述在整个有效期内是正确的或准确的。NotBefore属性指定有效期间隔开始的时间。NOTONORFAFTER属性指定有效期间隔结束的时间。如果省略NotBefore或NotNorAfter的值,则视为未指定。如果未指定NotBefore属性(并且如果提供的所有其他条件的计算结果都是有效的),则断言在由 属性之后的NOTONOR。如果NOTONORFAFTER属性未指定(并且如果提供的所有其他条件的计算结果都为Valid),则断言对于NOTBEEFORE属性指定的时间瞬间的条件是有效的,并且没有过期。如果两个属性都未指定(并且如果提供的任何其他条件计算为有效),则断言在任何时候都对条件有效

    如果两个属性都存在,则NotBefore的值必须小于(早于)NotNorAfter的值

    AuthnStatement/@sessionnonorafter 指示具有从封闭断言派生的主题的会话的上限。时间值以UTC编码,如第1.3.3节所述。此属性与断言中可能存在的NOTONORFAFTER条件属性之间没有必需的关系。由概要文件根据此属性为依赖方提供特定的处理规则

    我把这个问题交叉贴到了网站上,并从Scott Cantor那里得到了答案,他是规范的编辑

    • 中的时间表示断言可以与主题绑定多长时间。在Web SSO中,通常使用主题确认方法“bearer”,这意味着在这段时间内,我们可以相信断言适用于提供断言的断言。断言的有效期可能更长,但我们必须在此时间范围内创建会话。第4.1.4.3节对此进行了说明。
      中的时间必须在
      中的时间间隔内

    • 中的时间是整个断言的有效性。这段时间后不应食用。但是,没有任何东西可以阻止SP上的用户会话扩展到此时间点之外

    • sessionnotorafter
      是完全不同的东西,与断言或主题的生命周期没有直接关系。idp可以使用该参数来控制SP会话的持续时间。请注意,此参数的定义是,它应该由SP根据SAML2Core规范进行处理,但与所有SP实现不同。实现的一个示例是通常的Shibboleth,它始终尊重此参数的出现。使用单次注销时,此参数更为关键,因为它同步SP和Idp上的会话超时,以确保SP不会对Idp不再知道的会话发出注销请求


      • 在我看来,只有Saml2规范的作者才能清楚地回答这个问题。我还想他们可以写一本10000页的书来解释人们多年来提出的关于规范的许多“为什么”问题。无论如何,基于我有限的知识和我所经历的用例,我对这些属性的解释是:

        让我们看一个例子:

      • SSO:SP从IdP接收断言并让用户登录
      • 引导令牌:SP将断言另存为引导令牌,以供以后使用
      • SP使用引导令牌交换ActAs令牌,以便可以使用它访问另一个web服务。它还将缓存令牌以供进一步使用,以避免经常交换新令牌,只要该令牌仍然有效
      • 对于(1),当且仅当SubjectConfirmationData.NotOnOrAfter和Conditions.NotOnOrAfter都有效时,断言才有效。由于断言有效,SP将为用户创建登录会话。会话的持续时间由sessionnotorafter值指定

        3点怎么样?我认为当Conditions.notorafter仍然有效时,令牌被认为是有效的。根据Scott Cantor的说法:“处理规则是特定于配置文件和使用环境的。”来源:在该链接中,他们还讨论了主体的生命周期和条件,其中条件的生命周期通常比