我正在构建SP发起的单点登录,我想知道确定将用户重定向到哪个身份提供商的最佳做法是什么。
以下是我提出的选项:
/SSO/Logon/Acme
,其中Acme是已知IdP的名称。
我们知道此提供商的端点网址,并重定向用户。缺点是,匿名用户可以通过猜测名称和检查重定向来检测我们支持的IdP。
/SSO/Logon/1
,其中1是身份提供者的ID。
同样的问题。
/SSO/Logon?endpointUrl=http://idp.acme.com
我们盲目地将AuthnRequest重定向到任何端点,未经授权的端点在响应时将被拒绝
/SSO/Logon/ABCDEFG
其中ABCDEFG是加密安全的随机字符串
我们查找与此密钥关联的端点网址,并知道重定向的位置。与前两个选项类似,但不可猜测
这必须是一个已解决的问题。处理这个问题的最佳方法是什么?