C# SAML SSO—它如何与多个服务提供商协作

C# SAML SSO—它如何与多个服务提供商协作,c#,saml,saml-2.0,C#,Saml,Saml 2.0,我的任务是用SAML开发SSO系统。我必须登录到身份提供商(通过移动应用程序)并在身份验证后重定向到我的站点 经过一些研究,我想我已经了解了服务提供商和ID提供商之间的交互,以及如何确认用户的身份 但是,当我将用户重定向到另一个服务提供商时会发生什么?如何在不再次使用identity Provider登录的情况下,将经过身份验证的用户的身份传输到我的站点 我必须将SAML断言令牌与重定向请求一起发送吗?是。如果您使用,这种情况会无缝发生 当您尝试访问任何讲SAML的服务提供商上的资源时,如果您

我的任务是用SAML开发SSO系统。我必须登录到身份提供商(通过移动应用程序)并在身份验证后重定向到我的站点

经过一些研究,我想我已经了解了服务提供商和ID提供商之间的交互,以及如何确认用户的身份

但是,当我将用户重定向到另一个服务提供商时会发生什么?如何在不再次使用identity Provider登录的情况下,将经过身份验证的用户的身份传输到我的站点


我必须将SAML断言令牌与重定向请求一起发送吗?

是。如果您使用,这种情况会无缝发生


当您尝试访问任何讲SAML的服务提供商上的资源时,如果您没有在该服务提供商处进行身份验证,您将被重定向回身份提供商。假设这是第一次发生。身份提供者将提示进行身份验证,然后向服务提供者发送SAML响应。现在,您尝试访问另一个SAML服务提供商上的资源。您将再次被重定向到身份提供程序,但这一次,只要您在身份提供程序上的安全上下文(会话..)仍处于活动状态,就不会提示您进行身份验证。身份提供商将以静默方式向第二个服务提供商发送SAML响应。

谢谢您的回答。当我尝试访问另一个SAML服务提供商上的资源时,我必须向身份提供商请求什么?第一次重定向到身份提供程序是否相同?我第一次登录移动应用程序。只要身份提供商和服务提供商之间建立了关系/信任,并且服务提供商支持SP启动的SSO,您就不需要请求任何内容。当您访问SP上的资源时,它将向身份提供程序发送SAML身份验证请求。身份提供程序将使用SAML响应来答复此请求。我的意思是,第二次“当您访问SP上的资源时,它将向身份提供程序发送SAML身份验证请求。”。第二次身份验证请求是否与第一次身份验证请求相同?(从移动应用重定向到第二个站点后)。我无法想象身份提供商如何识别一个人在没有令牌(仅示例)的情况下登录的应用程序和网站。第二个身份验证请求在结构上与第一个身份验证请求相同,但具有不同的值。例如,一个区别是服务提供商的身份(发卡机构元素)。@identigral如果我有IDP启动的流怎么办?