0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenID Connect Front-Channel Logout 1.0 - draft 04 メモ

Posted at
  • OpenID Connect Front-Channel Logout 1.0 のドラフトバージョン4についてメモする。
    • RP起点でログアウトリクエストが行われ、OPからログイン中の各RPへログアウトリクエストを行う方法の一つ。

Relying Party Logout Functionality

  • RPはOPへのクライアント登録時にログアウトURIを登録する。

  • ログアウトURI

    • ドメイン、ポート、およびスキームは、リダイレクトURIと同じ値
    • 絶対URI
    • application / x-www-form-urlencoded形式のクエリコンポーネントを含めることが可能
  • 流れ

    1. OPは登録されたログアウトURIをソースとして持つページに
    2. ログアウトURIをiframeにレンダリングするリクエストを受信した際、RPはCookieやローカルストレージなど、ログインセッションに関連する情報をクリアする。
      1. ログアウトリクエストを受信したときにエンドユーザーがRP側で既にログアウトしている場合、ログアウト成功と見なされる。
  • OPは、ログアウトURIをレンダリングするときに次のクエリパラメータを追加できる。

    パラメータ 説明
    iss フロントチャネルログアウトリクエストを発行するOPの発行者識別子
    sid セッションの識別子
    • RPはissおよびsidパラメータがOPとRPの現在のセッションに対して発行されたIDトークンのissおよびsidクレームと一致することを確認し、一致しない場合はログアウトリクエストを無視してもよい。
  • RP側のレスポンスにはCache-Controlディレクティブを含める必要がある。

    • キャッシュされたレスポンスがその後のログアウトリクエストに干渉するのを防ぐため。

OpenID Provider Logout Functionality

  • HTTPベースのログアウトをサポートするOPは、ログインしたRP群を追跡しログアウトURIでどのRPに接続してログアウトさせるかを把握しておく必要がある。

  • 一部OPでは、ログインした各RPのログアウトURIを動的に

  • OPがOpenIDConnect Discovery 1.0をサポートしている場合は以下のメタデータ値を使用してHTTPベースのログアウトをサポートすることが推奨される。

    パラメータ 説明
    frontchannel_logout_supported OPがHTTPベースのログアウトをサポートするかどうかを指定するブール値。true=サポート。省略した場合はfalse扱いとなる。
    frontchannel_logout_session_supported frontchannel_logout_uriが使用される場合に、OPがissおよびsidクエリを渡して、OPとのRPセッションを識別できるかどうかを示すブール値。サポートされている場合、sidクレームはOPが発行したIDトークンにも含まれる。省略した場合、false扱いとなる。
    sid セッション識別子。RPにログインしているエンドユーザーのユーザーエージェントまたはデバイスのセッションを表す。

User Agents Blocking Access to Third-Party Content

  • 一部のブラウザでは、(サイト間でユーザーのアクティビティを追跡するための)3rd パーティコンテンツ(Cookieなど)へのアクセスをブロックし始めている。
  • OPからの通知により、RPのユーザーエージェント状態にアクセスしてローカルログアウトを実装できなくなる可能性がある。
    • iframeはOPのページとは異なるオリジンにある。
    • frontchannel_logout_uriは、iframe内のOPによってレンダリングされたときにRPのログイン状態にアクセスできない場合がある。

参考情報

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?