TERM 025
OIDC
OAuth 2.0の流れで、ログイン情報を受け取る
OpenID Connect(OIDC)はOAuth 2.0の上に本人認証の層を追加し、アプリがユーザーのログイン結果と基本情報を安全に受け取るためのプロトコルです。
OAuth 2.0を土台にログイン情報を連携する仕組みの全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
認証を行う提供元
ユーザーを認証し、トークンと公開鍵情報を提供します。
認証結果
誰がいつどのアプリ向けに認証されたかを表します。
要求との結び付け
開始したログインと返された結果が対応するか確認します。
01 — DEFINITION
OIDCとは
何か
OpenID Connect(OIDC)はOAuth 2.0の上に本人認証の層を追加し、アプリがユーザーのログイン結果と基本情報を安全に受け取るためのプロトコルです。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
提供元でログイン
Identity Providerが利用者の本人確認を行う。
→認証結果を発行
発行者、利用者、対象アプリ、時刻を署名付きで返す。
→アプリで検証
署名とClaimを確認し、自分のログイン状態を作る。
OIDCを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
認証を行う提供元
ユーザーを認証し、トークンと公開鍵情報を提供します。
認証結果
誰がいつどのアプリ向けに認証されたかを表します。
要求との結び付け
開始したログインと返された結果が対応するか確認します。
04 — REAL WORLD EXAMPLE
Googleアカウントでアプリへログインする
アプリ自身で新しいパスワードを管理せず、外部の認証結果を利用します。
- 01
OIDC Providerへ認証要求を送る
- 02
利用者がProvider上でログインする
- 03
ID Tokenを検証しアプリのセッションを作る
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
ID TokenをAPI権限に流用しない
対象と目的が異なるため、API利用にはAccess Tokenを使います。
メールアドレスだけを主キーにしない
変更され得る表示情報ではなく、発行者とsubの組み合わせで識別します。
IN ONE SENTENCE
OIDCとは?
OAuth 2.0を土台にログイン情報を連携する仕組み。
