「新しいツールを使うのに、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
  • パスワード漏洩のリスクを減らせる、安全な技術

まずは、自分がどんな連携をしているか意識してみましょう。

  1. 「〜でログイン」ボタンを探す:新しいサイトやアプリを使うとき、IDを新規登録する代わりに、GoogleやMicrosoftのボタンがないか探してみてください。
  2. 許可画面をちゃんと読む:連携ボタンを押したあとの「〜へのアクセスを許可しますか?」という画面で、相手が何をしようとしているのか(名前だけ? ファイルの削除まで?)を1秒だけ止まって読んでみましょう。
  3. 不要な連携を解除する:Googleなどの「セキュリティ設定」画面には、過去にOAuthで連携したアプリの一覧があります。もう使っていないアプリがあれば、連携を解除して「カードキー」を無効にしておくとより安心ですよ!