用語集に戻る
認証中級

OAuth

oauth

一言で言うと

他のサービス(Google, GitHub等)を使ってログインする仕組み。

もう少し詳しく

一言で言うと

他のサービス(Google, GitHub等)を使ってログインする仕組み。パスワードを直接共有せずにアクセス権を委譲する。

もう少し詳しく

OAuthには4つのロールが登場する。リソースオーナー(データの所有者、通常はユーザー)、クライアント(データにアクセスしたいアプリ)、認可サーバー(アクセストークンを発行するサーバー)、リソースサーバー(保護されたリソースを提供するサーバー)。

最も広く使われる認可コードフローでは、クライアントがユーザーを認可サーバーへリダイレクトし、ユーザーの同意後に認可コードを取得、それをアクセストークンと交換してリソースサーバーに提示する。アクセストークンには有効期限があり、リフレッシュトークンで再取得できる。

なお、OAuthは認可(Authorization)のみを担い、ユーザーが誰であるかを確認する認証(Authentication)にはOpenID Connect(OIDC)を組み合わせて使うのが標準的。

セキュアなアプリ運用には欠かせない概念です。誤った実装は情報漏洩につながるため、セッション管理・トークン発行・パスワードの保存方法といった周辺技術と合わせて押さえておきましょう。

実務でどう使うか

  • アプリ開発: ログイン機能を実装する際、安全な認証フローを組む基礎になります

  • セキュリティレビュー: 既存システムの監査時にチェックされる項目です

  • サービス運用: アカウント乗っ取りや情報漏洩を防ぐ設計判断に直結します

  • 関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る