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は、パスワードという家の合鍵を渡すかわりに、用途と期限をしぼったカードキーを発行するしくみです。
「本人確認」ではなく「権限を安全に貸し借りする」ための土台だと覚えておくと、つまずきにくくなります。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…