服务提供商使用SAML启动SSO登录

时间:2018-01-19 06:42:07

标签: authentication single-sign-on saml service-provider idp

每当需要某些身份验证时,是否每次都会向此IdP发送SAML请求,或者首先在存储在浏览器Cookie中的会话中检查SAML请求,如果找到会话,则会自动进行身份验证?

2 个答案:

答案 0 :(得分:0)

通常,当用户首次向该SP进行身份验证时,SP会存储会话。如果SP需要对用户进行身份验证,则首先查找本地会话。但是,如果用户在一个SP上有会话,然后尝试访问第二个SP的资源,则此SP将不会拥有来自第一个SP的本地会话,并且需要向IDP发送authnrequest。

据我记得,这不是SAML规范中的规定,但通常是如何完成的。

答案 1 :(得分:0)

要访问Web应用程序(SP),您通常需要向其提供一些内容,以证明您有权访问它。通常,此权利是用户名/密码组合。一旦SP验证您的权利(可能将用户名/密码与db进行比较),它会根据SP的策略为您生成一个时间限制的会话。

使用SAML访问SP时,您没有用户名/密码。在这种情况下,您的权利来自您的IdP发布到SP的属性。一旦SP验证您的属性,它就会生成您的会话,这与您从用户名/密码验证中获得的会话类型完全相同。

SP可以通过多种方式再次向IdP询问属性:

  • SP的原生会话到期且您的SAML属性已过期(他们有时间生效)。
  • 您的SAML属性已过期。在高安全性SP中可能就是这种情况,您可能只有一小时的许可。您的SAML属性可能只有一小时的TTL。然后,SP会要求您的IdP中的属性刷新您的权利。

如果SP的原生会话过期但您的SAML属性仍然有效,则可以选择不询问您的IdP,而是根据您当前的SAML属性创建新会话。这一切都取决于SP的安全政策。

如果您转到另一个SP,您通常不必再次在您的IdP上进行身份验证,因为您的IdP可能会在登录第一个SP后为您提供会话,并且只会将您的属性发布到第二个SP。 / p>