ログインを明示的に要求しない RP を使用している状況があります。ただし、Open ID Connect のセッション管理仕様、より具体的にはここでcheck_session_iframe
起草されたエンドポイント仕様を確認しました。
次のシナリオが可能かどうか疑問に思っていました。クライアント x を使用して OP にフェデレート サインオンする RP があります。セッションID(または)がない場合でも、クライアント(x)がOPにサインインしているかどうかを確認できるようにすることは可能ですかsid
。言い換えると、OP とのセッションがあるかどうかをアプリケーションが確認できるため、OP に対してサインオンを要求する必要がなくなります。
UXの理由で満足したい基本的な流れは
1) RP に移動します。
2) RP に OP とのセッションがあるかどうかを確認します。
3) - セッションがある場合、自動ログイン (フローを開始せずに)
- セッションがない場合は、何もしないでください (つまり、ログインを要求する必要はありません)。
このようなことは可能ですか?以前にサインインしたことがある場合は、セッション情報を取得できることを理解しています (指定された および を使用しsession_state
てclient_id
)
IdentityServer3.Samples、より具体的には、ここでセッション状態を確認する方法を示すクライアント サンプルを見てきましたが、このサンプルは、ログイン後にセッション状態を確認する方法を示しているようです。 RP が明示的にサインオンを要求する前であっても、クライアントが現在セッションを持っているかどうかを確認することができます。