我使用Shibboleth SP(服务提供商)和多个IdP(身份提供商)。 我目前正在使用SP EDS(嵌入式发现服务)提供可用的IdP列表。
根据他的电子邮件域,有没有办法(在EDS中)或不自动将用户重定向到适当的IdP?在这种情况下,要求用户提供他的电子邮件/登录;然后提取域并用于确定正确的IdP。
感谢您的建议。
答案 0 :(得分:0)
您可能需要编写代码来从电子邮件中提取域名。
这可能会对你有帮助,
在Shibboleth.xml文件中将域映射到不同的idp或将安全路径映射到不同的idp。
让我们将example.com/secure1映射到example-idp1.com,将example.com/secure2映射到example-idp2.com。
然后,当用户user1@example1.com尝试登录时,将其重定向到example.com/secure1,以便它自动转到example.com/secure1。反之亦然。
如果您想了解如何配置多个路径,请参阅official site中的示例。
<RequestMap applicationId="default">
<Host name="www.example.org">
<Path name="secure1" authType="shibboleth" requireSession="true"/>
</Host>
<Host name="www.example.org" applicationId="app2" authType="shibboleth" requireSession="true">
<Path name="secure2" authType="shibboleth" requireSession="true"/>
<AccessControl>
<Rule require="affiliation">faculty@osu.edu student@osu.edu</Rule>
</AccessControl>
</Host>
</RequestMap>
按照提到的here创建两个应用程序。