我们的一个客户使用OneLogin作为身份提供者,我们被要求实现SSO。
我的问题是,我怎么能实现多个idp(少数客户端)OneLogin使用相同的"登录OneLogin"选项?
谢谢。
大多数实现者通过url或子域来处理这个问题。
。Customer1.yourservice.com和customer2.yourservice.com或www.yourservice.com/customer1/login www.yourservice.com/customer2/login
从那里您可以知道该客户是否启用了OneLogin作为IDP,并自动执行SAML流(或任何IDP)
在多租户环境中,您应该能够将每个租户与IdP链接起来,可以通过将特定的SAML设置链接到租户来实现。
我不知道你的多租户解决方案是基于不同的子域,或不同的url路径或基于租户id…但是由于您能够识别承租者,因此您应该能够将承租者与特定的SAML设置链接起来,并将它们存储在数据库或文件中,以便以后能够获得它们。您必须为每个租户使用不同的实体ID和ACS URL,以便能够在正确的位置接收SAML响应并使用正确的设置进行验证
如果您目前为所有租户提供一个唯一的登录页面,您应该将其拆分并为每个租户提供一个自定义登录页面,另一种选择是在全局登录页面添加一个"通过SAML登录"链接,单击该链接后将用户移到"发现租户"页面,用户应该在其中选择他试图访问的租户。如果每个租户的userid是唯一的,那么您可以询问它,并根据它来识别租户(这是当前Google的工作方式)。