「新しいツールを使うのに、Googleのアカウント情報を連携しても大丈夫かな……?」
仕事で新しい便利なアプリを導入しようとしたときのことです。「Googleでログイン」というボタンが出てきて、クリックすると「あなたのプロフィールへのアクセスを許可しますか?」という確認画面が出ました。
「これ、Googleのパスワードが相手のアプリにバレちゃうんじゃないの……?」
不安になって操作を止めてしまった私に、情シスの先輩がこう教えてくれました。
「大丈夫。それはOAuth(オーオース)っていう仕組みを使っているから。相手にパスワードを教えずに、『一部のデータだけ使っていいよ』っていう合鍵を渡しているだけなんだよ」
「オーオース……? 合鍵?」と聞き返してしまった私ですが、仕組みを知れば、これがいかに安全で便利なものかがわかりました。
この記事では、マンションの合鍵に例えて、OAuthの正体をやさしく解説します。
OAuthとは? 一言でいうと「期限付きの『特定の部屋の合鍵』」
結論から言うと、OAuth(オーオース)とは、「あるサービスが持っている自分のデータ(写真や名前など)を、別のサービスから安全に利用できるようにするための仕組み」 です。
これを 「マンションの管理」 に例えると、非常にわかりやすくなります。
- あなた:マンションの住人(Googleなどのユーザー)
- Googleなどのサービス:マンションの管理会社
- 新しいアプリ:ハウスクリーニング業者
- OAuth:業者が部屋に入るための 「期間限定のカードキー」
もし、ハウスクリーニング業者に「あなたの部屋のマスターキー(パスワード)」をそのまま渡してしまったら、業者はいつでも、どの部屋にも入り放題になってしまいます。これは怖いですよね。
そこで、OAuthの出番です。 あなたは管理会社(Google)に連絡して、「この業者に、リビングの掃除だけができるカードキー(アクセストークン)を渡して」 とお願いします。すると、業者はあなたのマスターキーを知ることなく、掃除という「許可された仕事」だけができるようになります。
ビジネスの現場でOAuthという言葉が出る場面
「連携」に関わるシーンでよく登場します。
1. 「このアプリ、SlackとOAuth連携しておいて」
意味:
そのアプリがSlackにメッセージを投稿したり、通知を受け取ったりできるように、連携の設定(許可)をしておいて、ということです。Slackのパスワードをそのアプリに教える必要はありません。
2. 「認可画面(許可を求める画面)で、アクセス範囲を確認してください」
意味:
「カードキーでどの部屋まで入っていいか」の確認です。「名前だけ」なのか「メールの中身まで」なのか、許可する前に範囲をチェックしましょうということです。
3. 「トークンの有効期限が切れたので、再連携が必要です」
意味:
「期間限定のカードキー」の期限が終わったということです。もう一度「連携」のボタンを押して、新しいカードキーを発行してもらう必要があります。
OAuthと「OpenID」の違い
混同しやすい「OpenID」との違いを整理しました。
| 比較ポイント | OAuth(オーオース) | OpenID |
|---|---|---|
| 主な目的 | 「認可」(〜していいよという許可) | 「認証」(あなたは誰?という確認) |
| できること | データの読み書き(写真の取得など) | 「あなたは本人です」という証明 |
| 例え話 | 特定の部屋の合鍵を渡す | 顔写真付きの身分証を見せる |
※現在は「OpenID Connect」という、両方の良いとこ取りをした仕組みが主流です。
まとめ:明日からできる第一歩!
この記事のポイントは次のとおりです。
- OAuthは、パスワードを教えずにデータを連携させる仕組み
- 「特定の部屋だけの期間限定カードキー」をイメージすればOK
- パスワード漏洩のリスクを減らせる、安全な技術
まずは、自分がどんな連携をしているか意識してみましょう。
- 「〜でログイン」ボタンを探す:新しいサイトやアプリを使うとき、IDを新規登録する代わりに、GoogleやMicrosoftのボタンがないか探してみてください。
- 許可画面をちゃんと読む:連携ボタンを押したあとの「〜へのアクセスを許可しますか?」という画面で、相手が何をしようとしているのか(名前だけ? ファイルの削除まで?)を1秒だけ止まって読んでみましょう。
- 不要な連携を解除する:Googleなどの「セキュリティ設定」画面には、過去にOAuthで連携したアプリの一覧があります。もう使っていないアプリがあれば、連携を解除して「カードキー」を無効にしておくとより安心ですよ!