我需要将WSO2身份服务器与SAML一起用于我的内部应用程序的SSO。我遇到了这个美丽的 SAML2.0 SSO with the WSO2 Identity Server article
但我对这篇文章有两个问题,我不确定它是如何运作的
1)在第5步中说“现在用户被重定向到IDP。现在IDP意识到这个用户已经过身份验证,因此会发出 SAML断言而不提示任何身份验证质询。“
IDP将如何识别用户已经过身份验证?
根据我的理解,必须根据会话进行。这是否意味着当身份验证请求从服务提供商1发送到身份服务器(SP1将请求重定向到IS到浏览器)时,IS将首先验证凭据,如果成功则将用户对象保持在会话中。
现在,当第二个身份验证请求进入IS到SP2时,会发送相同的会话ID(提供的请求是从同一个浏览器的另一个发送的),IS fins已经是与此会话关联的用户对象,所以请相信他。这种理解是否正确?
2)在步骤2中,据说“现在SP1可以验证IDP发出的SAML断言,并允许用户登录。” 什么是特定字段/值(在IP发送的SAML响应下),SP1将验证?
3)存储用户凭据的位置。是在IS方面还是服务提供方?
答案 0 :(得分:4)
请解释它如何与WSO2IS 5.0.0一起使用
当用户通过提供凭据对IDP进行身份验证时。 WSO2IS为用户和cookie创建经过身份验证的会话,并与设置在用户浏览器中的经过身份验证的会话相关联。 Cookie名称为commonAuthId
。一旦使用SSO对WSO2IS进行身份验证,您也可以在浏览器中找到它。然后,用户尝试使用相同的浏览器访问另一个SP,cookie将被发送到WSO2IS,并且它识别出存在与cookie相关的经过身份验证的会话。
通常,SP验证SAML2响应和断言。您可以执行几种验证。但最常见的是
SAML2响应和SAML2断言的签名
有效期SAML2响应和SAML2断言。
SAML2断言中的受众限制验证
目标网址和收件人值
通常,用户名将从主题标识符值中提取。此外,属性语句中可能还有属性,SP可以检索这些属性并对其进行一些验证。