如何从WSO2身份服务器刷新SAML断言信息?

时间:2013-02-07 14:09:09

标签: wso2 saml-2.0 wso2is assertion

我正在为Web应用程序构建基于SAML 2.0的身份验证。身份验证是针对WSO2身份服务器(WSO2-IS)完成的。我已经设法使用HTTP重定向获得实际的身份验证。但是现在我在尝试从身份服务器“刷新”身份验证信息时遇到了问题。

问题是WSO2-IS返回的断言只有5分钟的生命周期。基于此,我应该每5分钟从WSO2-IS获得一个新的断言。但是我发现没有其他方法可以对抗WSO2-IS而不是进行另一轮重定向。每五分钟将用户重定向到其他地方对用户不是很友好。

SAML 2.0指定一个AuthnQuery请求,该请求应该使用SOAP over HTTP完成。如果我已经正确理解,AuthnQuery正是我需要为用户重新请求断言信息,但对我来说似乎WSO2-IS不支持这个请求。

所以,问题是,我如何能够从WSO2 Identity Server刷新(或重新请求)断言信息,而无需将用户重定向到他们当前正在访问的页面?

2 个答案:

答案 0 :(得分:1)

答案可以在Web浏览器SSO配置文件中的SAML proile speciefication中找到 - >用法和消息处理规则。

  

上面描述的承载元素必须包含   包含收件人的元素   包含服务提供者的断言使用者服务的属性   URL和限制窗口期间的NotOnOrAfter属性   断言可以传递

NotOnOrAfter是消息传递的时间。

如果SessionNotOnOrAfter中存在属性AuthnStatement,您应该考虑的事项。

  

如果用于建立安全上下文   principal包含一个SessionNotOnOrAfter属性,即安全性   上下文应该在达到这个时间后丢弃,除非   服务提供者通过重复重新建立主体的身份   使用此个人资料。

SAML profile spec

答案 1 :(得分:0)

我不确定你是否可以使用它。这来自SAML规范

  

message元素用于进行查询“What   包含身份验证语句的断言可用于此   主题?“成功将包含一个或多个断言   包含身份验证语句

     

消息必须   不能用作使用凭据进行新身份验证的请求   在请求中提供。是一个声明请求   关于先前交互中发生的身份验证操作   在指定的主题和认证机构之间。

你在谈论关于断言的NotOnOrAfter禁令,对吧? 据我所知,这只是因为你不能再相信这个消息了。我在那个时间到来之前你读过它你可以认为用户是经过身份验证的。这通常是为了防止重播。