PUBLIC
SECURITYオープンIDコネクト6 MIN READ

TERM 025

OIDC

OAuth 2.0の流れで、ログイン情報を受け取る

OpenID Connect(OIDC)はOAuth 2.0の上に本人認証の層を追加し、アプリがユーザーのログイン結果と基本情報を安全に受け取るためのプロトコルです。

01AUTHENTICATE提供元でログイン
02ID TOKEN認証結果を発行
03SESSIONアプリで検証
OVERVIEW

OAuth 2.0を土台にログイン情報を連携する仕組みの全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01PROVIDER

認証を行う提供元

ユーザーを認証し、トークンと公開鍵情報を提供します。

02ID TOKEN

認証結果

誰がいつどのアプリ向けに認証されたかを表します。

03NONCE

要求との結び付け

開始したログインと返された結果が対応するか確認します。

01 — DEFINITION

OIDCとは
何か

OpenID Connect(OIDC)はOAuth 2.0の上に本人認証の層を追加し、アプリがユーザーのログイン結果と基本情報を安全に受け取るためのプロトコルです。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01AUTHENTICATE

提供元でログイン

Identity Providerが利用者の本人確認を行う。

02ID TOKEN

認証結果を発行

発行者、利用者、対象アプリ、時刻を署名付きで返す。

03SESSION

アプリで検証

署名とClaimを確認し、自分のログイン状態を作る。

PROCESS

OIDCを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01PROVIDER

認証を行う提供元

ユーザーを認証し、トークンと公開鍵情報を提供します。

02ID TOKEN

認証結果

誰がいつどのアプリ向けに認証されたかを表します。

03NONCE

要求との結び付け

開始したログインと返された結果が対応するか確認します。

04 — REAL WORLD EXAMPLE

Googleアカウントでアプリへログインする

アプリ自身で新しいパスワードを管理せず、外部の認証結果を利用します。

SCENARIO / OIDCSTEP BY STEP
  1. 01

    OIDC Providerへ認証要求を送る

  2. 02

    利用者がProvider上でログインする

  3. 03

    ID Tokenを検証しアプリのセッションを作る

RESULTパスワードをアプリへ預けず、検証済みのユーザー識別子でログインできます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

ID TokenをAPI権限に流用しない

対象と目的が異なるため、API利用にはAccess Tokenを使います。

02

メールアドレスだけを主キーにしない

変更され得る表示情報ではなく、発行者とsubの組み合わせで識別します。

IN ONE SENTENCE

OIDCとは?

OAuth 2.0を土台にログイン情報を連携する仕組み

KEEP EXPLORING

SECURITYOAuth掲載中SECURITYAuthentication掲載中SECURITYJWT掲載中