CyberGlossary

ID とアクセス

OAuth 2.0

別称: OAuth2

定義

リソース所有者が資格情報を共有せずに、サードパーティ製アプリへ API に対する制限付き・スコープ付きのアクセスを委譲できる、オープンな認可フレームワーク。

OAuth 2.0 では、リソース所有者(利用者)、クライアント(アプリ)、認可サーバー(トークンを発行)、リソースサーバー(API を提供)という役割が分離されます。クライアントは定められたグラントフローでアクセストークンを取得し――対話型アプリでは PKCE 付き Authorization Code、サーバー間呼び出しでは Client Credentials、入力が困難な端末では Device Code を用いる――以後はそのトークンを通常 Bearer として付けて API を呼び出します。スコープと Audience によって、トークンで実行できる操作を制限します。OAuth 2.0 は OpenID Connect、クラウド API、各種「○○ でサインイン」ボタンの基盤です。Implicit グラントの利用、PKCE の欠落、リダイレクト URI の検証不備、クライアント側でのトークンの不適切な保管などが典型的な落とし穴です。

  • モバイルアプリが Authorization Code + PKCE で取得したトークンで銀行 API を呼び出す。
  • バックエンドサービスが Client Credentials で外部 API にイベントを送信する。

関連用語