コンテンツへスキップ
uencoder

OAuth

OAuth 2.0は、ユーザーの同意の下で、パスワードを共有せずにトークンを使ってサードパーティアプリケーションがユーザーのリソースへアクセスできるようにする認可フレームワークである。

目的

委任された認可を実現する。アプリケーションはパスワードを見ることなく、別サービス上のユーザーリソースにアクセスできる。

メカニズム

フロー:クライアントが認可サーバーに認可を要求する → ユーザーが承認する → クライアントが認可コードを受け取る → それをaccess_tokenと交換する → トークンを使ってリソースサーバーにアクセスする。グラントタイプ:authorization_code、implicit、password、client_credentials、refresh_token。

ユースケース

  • サードパーティログイン(Google)
  • 認可されたAPIアクセス
  • クロスサービスのSSO
  • モバイルでの認可

例

  • 入力
    authorization code → access_token
    Output
    Call the API with the token

    The authorization code flow

よくあるエラー

The implicit flow exposes the token to the browser
Use authorization_code with PKCE

関連用語

関連ツール

References