如何使用Sustainsys Saml2为多个服务提供商配置单点登录

时间:2018-10-17 13:22:53

标签: asp.net-mvc-4 sustainsys-saml2

我们有两个服务提供商和一个身份提供商。当我们将两个服务提供者都配置为使用相同的身份提供者时,行为如下:

  • 服务提供商A上的用户请求页面
  • 用户被重定向到身份提供者
  • 用户登录
  • 用户被重定向到服务提供商A
  • 在服务提供商A上有一个指向服务提供商B的链接
  • 用户被重定向到身份提供者
  • 用户必须再次登录
  • 用户将被重定向到服务提供商B

如何以不需要第二次登录的方式配置Sustainsys?

我们根据https://github.com/Sustainsys/Saml2中的代码创建了一个示例。对于身份提供者,我们使用提供的代码的StupIdp。对于服务提供商,我们使用SampleMvcApplication。

服务提供商A的Web.config:

<sustainsys.saml2 entityId="http://localhost:2181/Saml2" returnUrl="http://localhost:2181/" >
    <identityProviders>
        <add entityId="http://localhost:52071/Metadata" signOnUrl="http://localhost:52071/" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
            <signingCertificate fileName="~/App_Data/stubidp.sustainsys.com.cer"/>
        </add>
    </identityProviders>
    <federations>
        <add metadataLocation="http://localhost:52071/Federation" allowUnsolicitedAuthnResponse="true"/>
    </federations>
    <serviceCertificates>
        <add fileName="~/App_Data/Sustainsys.Saml2.Tests.pfx"/>
    </serviceCertificates>
</sustainsys.saml2>

1 个答案:

答案 0 :(得分:0)

存根idp不具有单点登录功能。它不会跟踪任何会话。

如果您连接到真实的Idp,您将自动登录到第二个SP(假设Idp已配置为支持它)