PUBLIC
SECURITYオーオース6 MIN READ

TERM 024

OAuth

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

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

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

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

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01CLIENT

権限を受けるアプリ

利用者の代理としてResource Serverへアクセスします。

02SCOPE

委任する範囲

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

03ACCESS TOKEN

期限付きの権限証

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

01 — DEFINITION

OAuthとは
何か

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

02 — HOW IT WORKS

仕組みを
3段階で見る

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

INPUTPROCESSOUTPUT
01CONSENT

委任に同意

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

02TOKEN

権限を発行

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

03ACCESS

APIを利用

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

PROCESS

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

03 — ESSENTIALS

押さえるべき
3つの要点

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

01CLIENT

権限を受けるアプリ

利用者の代理としてResource Serverへアクセスします。

02SCOPE

委任する範囲

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

03ACCESS TOKEN

期限付きの権限証

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

04 — REAL WORLD EXAMPLE

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

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

SCENARIO / OAUTHSTEP BY STEP
  1. 01

    写真サービス上で読取scopeへ同意する

  2. 02

    印刷アプリがアクセストークンを受け取る

  3. 03

    トークンで選択した写真だけ取得する

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

05 — WATCH OUT

理解するときの
注意点

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

01

Redirect URIを厳密に照合する

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

02

最小scopeを要求する

便利だからと広い権限を求めず、機能に必要な範囲だけにします。

IN ONE SENTENCE

OAuthとは?

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

KEEP EXPLORING

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