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