OAuth 2.0

OAuth 2.0 は認可(にんか) プロトコル(Authorization Protocol)で、アプリケーションがユーザーに() わって保護(ほご) されたリソースにアクセスすることを許可(きょか) する。

OAuth 2.0 は**認可(にんか) プロトコル**であり、認証(にんしょう) プロトコルではない。(おも) にリソースへのアクセス(けん)付与(ふよ) するために使用(しよう)

4つの役割

役割(やくわり)説明(せつめい)
Resource Owner保護(ほご) されたリソースを所有(しょゆう) するユーザー
Client / Application保護(ほご) されたリソースへのアクセスが必要(ひつよう) なアプリ
Authorization Serverユーザー認証(にんしょう) と Access Token 発行(はっこう)
Resource Serverユーザーの保護(ほご) データを保存(ほぞん) するサーバー

Protocol Flow

OAuth 2.0 Flow

Authorization Code Flow

(もっと)一般的(いっぱんてき)認可(にんか) フロー。Server-side Application に適用(てきよう)

Authorization Code Flow

PKCE (Proof Key for Code Exchange)

Public Clients のセキュリティを強化(きょうか) するための拡張(かくちょう)

Token タイプ

JWT (JSON Web Token)

JWT は 3 つの部分(ぶぶん)構成(こうせい) :Header、Payload、Signature。

JWT Structure

Opaque Token

ユーザー情報(じょうほう)(ふく) まないランダム文字列(もじれつ) 。サーバー(がわ) での検証(けんしょう)必要(ひつよう)

JWT vs Opaque Token

側面(そくめん)JWTOpaque Token
構造(こうぞう)Header + Payload + Signatureランダム文字列(もじれつ)
内容(ないよう)ユーザー情報(じょうほう)(ふく)参照(さんしょう) ID のみ
検証(けんしょう)クライアント(がわ)可能(かのう)サーバー必要(ひつよう)
取消(とりけし)期限(きげん) (まえ)取消(とりけし)困難(こんなん)いつでも取消(とりけし) 可能(かのう)

関連トピック