私は SP が開始するシングル サインオンを構築していますが、ユーザーをリダイレクトする ID プロバイダーを決定するためのベスト プラクティスは何か疑問に思いました。
私が思いついたオプションは次のとおりです。
/SSO/Logon/Acme
ここで、Acme は既知の IdP の名前です。このプロバイダーのエンドポイント URL がわかっているので、ユーザーをリダイレクトします。欠点は、名前を推測してリダイレクトを確認することで、匿名ユーザーがサポートしている IdP を検出できることです。
/SSO/Logon/1
、ここで 1 は ID プロバイダーの ID です。同じ問題。
/SSO/Logon?endpointUrl=http://idp.acme.com
AuthnRequest を任意のエンドポイントにやみくもにリダイレクトし、承認されていないエンドポイントは応答時に拒否されます
/SSO/Logon/ABCDEFG
ここで、ABCDEFG は暗号的に安全なランダム文字列ですこのキーに関連付けられたエンドポイント URL を検索し、リダイレクト先を認識します。最初の 2 つのオプションに似ていますが、推測できません
これは解決済みの問題でなければなりません。これを処理する最良の方法は何ですか?