Agile育成ブログ
未来を変える喜びを
未分類

OIDC(OpenID Connect)とは?

ユーザー認証を安全に行うための“認証プロトコル” です。

インターネットサービス・クラウド・企業システムで広く使われており、

OAuth 2.0 をベースに「ログイン(認証)」機能を追加した標準仕様です。


⭐ 1. OIDCとは?(一言で)

👉 OAuth 2.0 に「ユーザーが誰か(ID情報)」を安全にやり取りする仕組みを追加したもの。

OAuth2は「権限(何ができるか)」を扱いますが、

OIDCは「認証(誰なのか)」を扱います。


⭐ 2. OIDC をもっと簡単にいうと…

🔹 Google や Apple でログインできる仕組みの土台

  • 「Googleでログイン」
  • 「Appleでサインイン」
  • 「LINEログイン」

これらの多くは OIDC を利用しています。

🔹 ID情報を安全に受け取る

サービス側はユーザーのパスワードを保存する必要がなくなり、

Google などの認証プロバイダーが本人確認をします。


⭐ 3. OIDC の登場人物(構成要素)

登場人物説明
ユーザーログインしたい人
Relying Party (RP)ログインを利用したいアプリ(例:あなたのWebサービス)
OpenID Provider (OP)認証を行う側(Google / Microsoft Entra ID / Auth0など)


あなたのアプリ(RP)が Google(OP)に“この人は誰?”と聞く 仕組み。

⭐ 4. OAuth2との違い(重要ポイント)

比較項目OAuth 2.0OIDC
主目的権限付与(データへのアクセス許可)認証(誰であるか)
取得できるものアクセストークンIDトークン(ユーザー情報)
使いどころAPIアクセス、権限管理ログイン、SaaS認証

つまり:

  • OAuth2:「このユーザーのメール読む許可を頂戴」
  • OIDC:「この人が誰なのか教えて」

⭐ 5. OIDC の「IDトークン」とは?

OIDC の一番の特徴が ID Token(IDトークン)

  • JWT 形式(JSON Web Token)
  • 改ざん防止の署名付き
  • 中身にユーザー情報(claims)が入っている
{
  "sub": "1234567890",
  "email": "user@example.com",
  "name": "Taro Yamada",
  "iss": "https://accounts.google.com",
  "aud": "your-app-client-id"
}

これをアプリが読むことで「誰か」を特定できます。

パスワードを扱わなくて済むため 超安全

⭐ 6. OIDC が使われる場面

✔ Webサービスのログイン

  • Google / Apple ログイン
  • GitHubログイン
  • LINEログイン

✔ 企業システムのSSO(Single Sign-On)

  • Azure AD(Microsoft Entra ID)
  • Okta
  • OneLogin

✔ クラウドの認証

  • AWS の Identity Center
  • GCP の Identity Platform
  • Snowflake の SSO(SAML or OIDC)

⭐ 7. メリット

  • パスワードをアプリ側で保持しなくてよい(セキュア)
  • ユーザーはログインが簡単
  • SSO(シングルサインオン)が構築できる
  • 標準仕様なので様々なサービスと連携しやすい