AI活用の教科書
セキュリティ設計開発ふつう3分で読了

OAuth

OAuthおーおーす

ひとことで言うと

パスワードを渡さずに、外部サービスへ「ここまでなら使ってOK」と権限だけ預けるしくみです。

📖 もうちょい詳しく

何が新しいの?

OAuthは、別のサービスに自分のパスワードを渡さずに、必要な権限だけを預けるしくみです。
昔は、あるアプリに「Gmailの連絡先を読み込ませたい」と思ったら、Gmailのパスワードをそのアプリに入力するしかありませんでした。これだとアプリ側にパスワードが丸ごと渡ってしまい、何でもできてしまいます。そのリスクをなくすために考えられたのがOAuthです。

どうやって動いてるの?

OAuthでは、パスワードのかわりに アクセストークン という「許可証」をやり取りします。
たとえば「このアプリでGoogleログインを使う」を押すと、画面がGoogleの本物のページに移ります。あなたはそこでログインし、「連絡先の読み取りだけ許可しますか?」と聞かれて同意します。するとGoogleが、その範囲だけ使える許可証をアプリに渡します。アプリはパスワードを一度も見ないまま、許可された範囲だけを利用できるのです。

何ができるの?

「〇〇でログイン」や、サービス同士の連携が、安全にできるようになります。
別アプリにSNSの投稿だけを任せたり、カレンダーの予定だけを読み取らせたり、といった使い方ができます。許可する範囲は自分で選べて、不要になったら設定画面から取り消せるのも特徴です。

🌱 身近なたとえ

ホテルのカードキーで例えると、OAuthは「マスターキーを渡さず、必要な部屋だけ開くカードを発行すること」です。
家の合鍵をまるごと預ければ、相手は家じゅうどこでも入れてしまいます。でもカードキーなら「この部屋だけ」「今日まで」と範囲や期限を決められます。OAuthのアクセストークンは、まさにこの「使い道をしぼった一時的なカードキー」のような役割を果たします。

✅ まず覚えるポイント

  • OAuthは、パスワードを渡さず権限だけを預けるしくみ
  • やり取りするのはパスワードではなく「アクセストークン(許可証)」
  • 許可する範囲(連絡先だけ、など)を自分で選べる
  • いらなくなったら、あとから許可を取り消せる
  • 「〇〇でログイン」やサービス連携の裏側で広く使われている

🧭 よくある勘違い

OAuthって「ログインのしくみ」のことですよね?

少しちがいます。OAuthは本来「権限を預ける(認可)」ためのしくみで、「本人確認(認証)」そのものではありません。
「Googleでログイン」のようなログイン機能は、OAuthを土台にした別の決まり(OpenID Connectなど)を組み合わせて実現しています。OAuthは「鍵を貸す」役、ログインは「本人かを確かめる」役、と分けて考えると整理しやすいです。

アクセストークンが漏れても、パスワードは無事だから安心?

パスワードが守られるのは確かですが、油断はできません。
トークンが盗まれれば、その許可された範囲は他人に使われてしまう場合があります。だからこそトークンには期限がつき、あやしいときは取り消せるようになっています。「範囲をしぼる」「期限を短くする」ことが安全のポイントです。

🧩 関連して覚えると楽な言葉

  • 認証: その人が本人かを確かめること。OAuthとは役割がちがう
  • 認可: 何をしてよいかの権限を与えること。OAuthが扱う中心
  • JWT: トークンの中身を安全に運ぶ形式の一つ。OAuthでよく使われる
  • API: サービス同士をつなぐ窓口。OAuthはこの窓口の利用許可に使われる

🏁 ひとことでまとめ

OAuthは、パスワードという家の合鍵を渡すかわりに、用途と期限をしぼったカードキーを発行するしくみです。
「本人確認」ではなく「権限を安全に貸し借りする」ための土台だと覚えておくと、つまずきにくくなります。

関連用語