OpenID Connect
OpenID Connect(OIDC)は、OAuth 2.0の上に構築されたアイデンティティレイヤーである。ユーザー認証と本人情報を提供し、SSOの事実上の標準となっている。
目的
OAuthの認可の上に、標準化されたユーザー認証とアイデンティティクレームを追加する。
メカニズム
OAuth 2.0を土台に、IDトークン(ユーザーのアイデンティティクレームを含むJWT)とUserInfoエンドポイントを追加する。スコープopenidがOIDCを起動する。IDトークンはsub、iss、aud、expなどのクレームを運ぶ。.well-known/openid-configurationによるディスカバリーがサポートされる。
ユースケース
- クロスドメインのSSOログイン
- サードパーティの本人確認
- 企業のアイデンティティ連携
- モバイル認証
例
- 入力
scope=openid → ID TokenOutputA JWT carrying the user's identityAuthentication plus authorization
よくあるエラー
- Confusing OAuth (authorization) with OIDC (authentication)
- Remember: OIDC = OAuth plus an identity layer
関連用語
OAuth
OAuth 2.0は、ユーザーの同意の下で、パスワードを共有せずにトークンを使ってサードパーティアプリケーションがユーザーのリソースへアクセスできるようにする認可フレームワークである。 用語集
JWT
JWT(JSON Web Token)は、クレームを JSON オブジェクトとして安全に伝えるコンパクトで自己完結型のトークンである。ステートレス認証と情報交換に広く使われる。 用語集
Bearer Token
Bearer トークンは純粋に所持だけで機能するトークンである。Authorization: Bearer <token> ヘッダーで送られ、追加のクレデンシャルなしに、持っている者なら誰でも使える。 用語集