PUBLIC
SECURITYオーオース6 MIN READ

TERM 028

OAuth

パスワードを渡さず、限定的な操作を委任する

OAuth 2.0は、利用者が自分のパスワードを第三者アプリへ渡さず、そのアプリへ限定されたアクセス権を委任するための認可フレームワークです。

01CONSENT委任に同意
02TOKEN権限を発行
03ACCESSAPIを利用
OVERVIEW

パスワードを渡さずに限定的なアクセスを委任する仕組みの全体像。

CONTENTSこの記事の目次

01 — DEFINITION

OAuthとは
何か

OAuth 2.0は、利用者が自分のパスワードを第三者アプリへ渡さず、そのアプリへ限定されたアクセス権を委任するための認可フレームワークです。

02 — HOW IT WORKS

仕組みを
3段階で見る

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

INPUTPROCESSOUTPUT
01CONSENT

委任に同意

利用者がアプリと要求される範囲を確認する。

02TOKEN

権限を発行

認可サーバーが用途と期限を限定したトークンを渡す。

03ACCESS

APIを利用

アプリがトークンを提示し、許可範囲の操作だけ行う。

PROCESS

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

03 — ESSENTIALS

押さえるべき
3つの要点

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

01CLIENT

権限を受けるアプリ

ユーザーの代理としてリソースサーバー(API)へアクセスします。

02SCOPE

委任する範囲

読み取り・書き込みなど、許可する操作を限定します。

03ACCESS TOKEN

期限付きの権限証

APIが範囲と有効性を確認するための情報です。

04 — REAL WORLD EXAMPLE

写真印刷アプリへ写真の読取を許可する

利用者は写真サービスのパスワードを印刷アプリへ渡したくありません。

SCENARIO / OAUTHSTEP BY STEP
  1. 01

    写真サービス上で読み取りスコープの要求に同意する

  2. 02

    印刷アプリが認可サーバーからアクセストークンを受け取る

  3. 03

    トークンを提示して選択した写真データのみを取得する

RESULT印刷アプリへパスワードや削除権限を渡さず、必要な操作だけ委任できます。

05 — WATCH OUT

理解するときの
注意点

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

01

Redirect URIを厳密に照合する

認可結果を攻撃者のURLへ送らないよう、登録済みURIと完全一致させます。

02

最小限のスコープを要求する

開発の都合で過大な権限を求めず、アプリの提供に必要な最小限のスコープに絞って要求します。

IN ONE SENTENCE

OAuthとは?

パスワードを渡さずに限定的なアクセスを委任する仕組み。

KEEP EXPLORING

SECURITYOIDC掲載中SECURITYJWT掲載中SECURITYAuthorization掲載中