こんにちは、おゆかよです。アプリ開発でGoogle連携をするときに設定する「OAuth」って、正直意味がわからなすぎて呪文みたいに感じない?今回は博士に、あの設定の正体をスッキリ教えてもらったよ!
博士!Google Cloud Consoleで設定する「クライアントID」とか「Redirect URI」とか、Geminiに言われるままに入力してるんだけど、ぶっちゃけ何をしてるのか全然わからないの。助けてー!
ははは、大丈夫だよ。OAuthは「仕組み」さえわかれば、設定項目の一つ一つがすごく論理的に見えてくるんだ。まずはホテルのカードキーをイメージしてみてごらん。
OAuthは「合鍵」を渡さず「カードキー」を発行する仕組み
ホテルのカードキー?どういうこと?
例えば、君が開発しているアプリが「ユーザーのGoogleドライブからファイル一覧を読み込みたい」とするよね。でも、ユーザーは自分のGoogleのパスワード(マスターキー)を君のアプリに教えたくない。
そこで、Google(フロント)がユーザー(部屋の持ち主)に確認して、「掃除の時間だけ入れるカードキー」をアプリ(清掃員)に発行するんだ。これがOAuthの「認可」という仕組みだよ。
クライアントIDとシークレットは「アプリの身分証」
なるほど。じゃあ、あの長い英数字の「クライアントID」は何なの?
それは「君のアプリの名前(IDカード)」だよ。Googleに対して「私は〇〇というアプリです」と名乗るためのものだね。
対になるクライアントシークレットは「アプリ専用のパスワード」。これは外部に漏らしちゃいけない、サーバー間だけで使う秘密の鍵なんだ。
対になるクライアントシークレットは「アプリ専用のパスワード」。これは外部に漏らしちゃいけない、サーバー間だけで使う秘密の鍵なんだ。
Redirect URIは「チケットの送り先」
一番謎なのが「Redirect URI」なんだけど、これを間違えるとエラーが出るんだよね。
それはすごく重要だよ。Googleで「許可」ボタンを押した後、Googleは「この人がOKって言ったよ!」という引換券(認可コード)をアプリに送り返す。その引換券の送り先住所がRedirect URIなんだ。
2026年現在のセキュリティ基準(OAuth 2.1)では、この住所が1文字でも違うと、偽サイトへの攻撃を防ぐためにGoogleが通信を遮断するようになっているんだよ。
2026年の常識:PKCEを使おう
ちなみに今はPKCE(ピクシー)という仕組みを併用するのが必須級になっている。昔はクライアントシークレットだけで認証していたけど、今は「その場で使い捨ての合言葉」を作って、より安全に引換券を交換するのが推奨されているんだ。
ピクシー!かっこいい名前だね。仕組みがわかると、あんなに怖かった設定画面も「あ、ここに戻ってきてほしいのね」って納得感が出てきたよ!博士、ありがとう!
まとめ
OAuthは、ユーザーのパスワードを預からずに安全にデータを操作する「権限の委譲」の仕組みです。Google Cloudの設定項目にはそれぞれ重要な役割があります。
- クライアントID: アプリの識別番号。
- クライアントシークレット: アプリ専用の秘密のパスワード。
- Redirect URI: 認可後にGoogleがデータを送り返す「安全な戻り先」。
- PKCE: 2026年の標準的なセキュリティ強化策。
これらの意味を理解して、安全なアプリ開発を進めましょう!
博士のおすすめアイテム
この記事のテーマに関連して、博士が自信を持っておすすめするアイテムはこちらだよ!
Amazonで「YubiKey 5C NFC – セキュリティキー」をチェック
※ 本セクションはPR(広告)です。Amazonアソシエイト・プログラムの参加者として、当サイトは適格販売により収入を得ています。


コメント