OAuthとは?
OAuth(オーオース)は、あるサービスのパスワードを別のアプリへ教えずに、必要な範囲だけ利用権限を渡すための仕組みです。「Googleアカウントでログイン」したあと、「このアプリにカレンダーの閲覧を許可しますか?」という確認画面が出ることがあります。あの権限の受け渡しを支えている代表的な規格がOAuthです。
合鍵を渡す仕組み
OAuthは、家のマスターキーではなく、使える部屋と期限を限定した合鍵を渡すイメージです。利用者が許可すると、アプリには「アクセストークン」と呼ばれる証明書のような情報が発行されます。アプリはそれを使い、許可されたサービスへアクセスします。
たとえばカレンダーを読むだけの権限と、予定を追加・削除できる権限は別です。この範囲を「スコープ」と呼びます。必要最小限のスコープだけ許可することが、安全に使う基本です。
どこで使われている?
- 外部アプリとGoogleドライブやGmailを連携する
- SNSのアカウントを使って別サービスを利用する
- gogcliのようなツールへGoogleサービスの操作を許可する
- AIエージェントへカレンダーやファイルの権限を渡す
OAuthは「本人確認」そのものより、主に「何を許可するか」を扱う仕組みです。ログイン用途では、OAuthの上にOpenID Connectという仕組みを組み合わせることもあります。
許可画面で見るべきこと
便利だからと全部を許可せず、アプリの提供元、求められている権限、利用目的を確認しましょう。「予定を見るだけのアプリなのに、メールの削除権限まで求めている」といった不自然さは注意信号です。
使わなくなった連携は、Googleや各サービスのアカウント設定から解除できます。OAuthはパスワードを直接渡すより安全な仕組みですが、発行した合鍵を管理する必要は残ります。