繁体   English   中英

如何在不使用WIF的情况下使用SAML 2.0实现SSO?

[英]How to implement SSO using SAML 2.0 without using WIF?

屏幕后面

  1. 我们在不同的域中有两个Web应用程序(网站1和网站2 [SAML服务])。
  2. 我们需要使用SAML 2.0进行SSO通信
  3. WebSite 1构建一个Sign SAML断言请求(使用.PFX证书 ),然后向不同域的WebSite 2( SAML服务 )进行POST。
  4. 网站2接受此SAML请求并要求提供凭据。 验证后,网站2会通过SAML响应重定向到网站1(消费页面[AssertionConsumerServiceURL])。

题:

  1. 现在在网站1 (消费页面[ AssertionConsumerServiceURL ])中,如何处理SAML以响应 SSO?
  2. 如果用户要从WebSite 1 注销 ,该怎么做? 为了注销,是否需要将其他任何SAML请求发布到网站2?
  3. 如果用户从网站2 注销,那么在网站1中会发生什么?
  4. 网站1( Issuer )是基于ASP.Net的应用程序,而网站2( Destination Service Url )是基于Java的应用程序。

假设条件

  1. 按照Google SSO的要求,您登录Google帐户时无需分别登录到GMAil的ORKUT。 Google 1这是SSO e.tc的示例。

注意:

  1. 网站1是Asp.Net应用程序。
  2. 网站2是基于Java的SAML服务。

我主要关心的是如何在ASP.NET应用程序中使用SAML响应。 我不是SAML 2.0(SSO)的专家。 因此,请作为新手指导我。 我需要您的评论以阐明我的知识和代码片段如何通过Website 1处理SSO中的SAML响应?

  1. 解析,验证签名。 使用断言来发出本地cookie以保留用户会话(您可以使用Forms身份验证和Forms cookie或发出SessionAuthenticationModule cookie)

  2. 是的,您手动创建一个SAML请求以注销并发布到身份提供者。

  3. 身份提供者应该将注销请求“广播”到所有经过身份验证的应用程序。 对此有不同的实现,但是从Website1的角度来看,这意味着将从浏览器发出一个请求,告诉应用程序将用户注销。 从技术上讲,该应用程序只是删除其本地cookie。

  4. 没关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM