OAuthとは
OAuthとは、利用者がパスワードを相手に教えることなく、あるアプリやサービスに対して、別のサービスにある自分のデータや機能へのアクセスを、範囲を限って許可するための仕組みです。現在は主にOAuth 2.0という版が使われています。
平易に言えば、「家の合鍵を渡す代わりに、決まった部屋だけ、決まった期間だけ入れる入館証を発行する仕組み」です。たとえば、ある日程調整ツールに自分のGoogleカレンダーを読み取らせたいとき、Googleのパスワードを日程調整ツールに教えるのは危険です。OAuthでは、Googleの画面で「カレンダーの閲覧を許可する」とボタンを押すだけで、日程調整ツールは許可された範囲でのみカレンダーを読み取れるようになります。
読み方は「オーオース」です。Open Authorizationに由来するとされ、Authorization(認可)、つまり「何をしてよいかを許可する」ための仕組みである点が重要です。
OAuthの仕組みと用語
OAuthには、主に4つの登場人物があります。
| 役割 | 意味 | カレンダー連携の例 |
|---|---|---|
| リソースオーナー | データの持ち主 | 利用者本人 |
| クライアント | データを使いたいアプリ | 日程調整ツール |
| 認可サーバー | 許可を確認し入館証を発行する | Googleのログイン・許可画面 |
| リソースサーバー | データを保管している場所 | Googleカレンダー |
代表的な流れ(認可コードフロー)は次のとおりです。
- 利用者がアプリで「Googleカレンダーと連携」を押す
- Googleの画面に移動し、ログインしたうえで、許可する範囲(スコープ)を確認して承認する
- アプリに一時的な認可コードが渡される
- アプリは認可コードを使って、アクセストークン(入館証)を受け取る
- アプリはアクセストークンを付けてカレンダーのAPIを呼び出す
アクセストークンには有効期限があり、期限が切れたら更新用のトークン(リフレッシュトークン)で新しいものを受け取ります。利用者は、後から連携の許可を取り消すこともできます。
実務での使い方・具体例
OAuthは、システム開発の現場で次のような場面に使われます。
- 自社サービスから、利用者のGoogleカレンダーやMicrosoft 365の予定を読み書きする
- 会計ソフトや決済サービスのAPIに、利用者の事業者アカウントの権限で接続する
- SNSやLINEのアカウントで自社サービスにログインできるようにする(OpenID Connectと組み合わせる)
- 自社のAPIを外部パートナーに公開し、安全にアクセスを許可する
ある会社が、予約システムとスタッフのGoogleカレンダーを連携させる場合、各スタッフが一度だけ連携を許可し、システムはトークンを安全に保管して予定の確認と登録を行います。この設計では、「どの範囲の許可を求めるか」「トークンをどこにどう保管するか」「スタッフが退職したときに連携をどう解除するか」が重要な論点になります。
よくある誤解と注意点
OAuthはログイン(認証)の仕組みだという誤解。 OAuth自体は「何をしてよいか」を許可する認可の仕組みで、「誰であるか」を確認する認証の仕組みではありません。ソーシャルログインのように本人確認に使う場合は、OAuthを拡張したOpenID Connectを使うのが正しい方法です。
必要以上に広い許可を求める。 読み取りだけで十分なのに書き込みの許可まで求めると、利用者が不安を感じて連携をやめたり、漏えい時の被害が大きくなったりします。許可の範囲は最小限にしましょう。
トークンの扱いを軽視する。 アクセストークンやリフレッシュトークンは、パスワードと同等に重要な情報です。暗号化して保管し、ログに出力しない、ブラウザ側に不用意に残さないといった対策が必要です。
連携先の審査や仕様変更を見込まない。 一部のサービスでは、広い範囲の許可を求めるアプリに審査を課しています。公開前に必要な手続きと期間を確認しておきましょう。
関連用語
- OpenID Connect:OAuthを拡張し、本人確認(認証)に使えるようにした仕組み
- SSO(シングルサインオン):一度のログインで複数のサービスを使えるようにする仕組み
- JWT(JSON Web Token):トークンの形式としてよく使われるデータ形式
- REST API:OAuthで得たトークンを付けて呼び出す代表的なAPI
- RBAC(ロールベースアクセス制御):役割に応じて操作の範囲を制御する仕組み
カレンダー連携の具体例は「予約システムとGoogleカレンダー連携」で解説しています。
Otsumuに相談できること
Otsumuは、Google、Microsoft、会計ソフト、LINEなど外部サービスとのOAuthを使った連携を、許可範囲の設計やトークンの安全な管理まで含めて開発しています。会員ログインや社内システムの認証の整理についてもご相談いただけます。
詳しくはAPI連携開発や会員サイト開発のページをご覧ください。30分の無料相談でもお気軽にご相談ください。
執筆:Otsumu株式会社 / 編集日 2026.10.01