Googleログイン設定の記録
— ファイルアップロードで「Googleでログイン」を必須にする手順
「AI生成ファイル紹介」でファイルをアップロードする利用者に、Googleアカウントでのログインを必須にするための設定です。Google Cloud Console で OAuth 2.0 のクライアント ID(ウェブアプリケーション) を作成し、このサイトのプログラムにクライアント ID とクライアント シークレットを渡すまでを、画面に実際に表示される言葉でまとめました。
1. なぜ「APIキー」ではダメなのか
Google Cloud Console には「APIキー」と「OAuth クライアント ID」の両方があります。ファイルアップロードで「誰がログインしているか」を判定するには、OAuth クライアント ID(種類:ウェブアプリケーション) が必要です。
- APIキー … あなたの「アプリ」が Google の API を呼ぶときの証明。どの「ユーザー」が使っているかは分かりません。
- OAuth クライアント ID(ウェブアプリケーション) … ユーザーが「Googleでログイン」したあと、名前・メールアドレスなどをサイトが受け取れます。
そのため、ここでは 認証情報を作成 → OAuth クライアント ID を選び、アプリケーションの種類 を ウェブアプリケーション にします。
2. Google Cloud Console を開く
- ブラウザで https://console.cloud.google.com/ を開きます。
- 使う Google アカウントでログインします。
- 画面上部の プロジェクト名(「マイ プロジェクト」や既存のプロジェクト名が表示されている部分)をクリックし、このサイト用のプロジェクトを選択します。まだなければ 新しいプロジェクト を作成してから選びます。
3. 「認証情報」画面を開く
- 左上の ナビゲーションメニュー(≡ 三本線のアイコン)をクリックします。
- メニューの中から API とサービス(英語表示の場合は APIs & Services)にマウスを乗せ、サブメニューが出たら 認証情報(Credentials)をクリックします。
- 「認証情報」ページが開き、認証情報を作成 というボタンや、既存の「OAuth 2.0 クライアント ID」の一覧が表示されます。
4. OAuth クライアント ID を作成する
4-1. 「認証情報を作成」から OAuth を選ぶ
- 画面上方の + 認証情報を作成(+ CREATE CREDENTIALS)をクリックします。
- ドロップダウンの中から OAuth クライアント ID(OAuth client ID)をクリックします。
4-2. 「同意画面」を設定する(初回だけ)
初めて OAuth クライアント ID を作る場合、「OAuth 同意画面が設定されていません」と表示されることがあります。そのときは次のように進めます。
- 同意画面を構成(CONFIGURE CONSENT SCREEN)をクリックします。
- User Type で 外部(External)を選び、作成(Create)をクリックします。
- 「アプリ情報」では アプリ名 に任意の名前(例:AI生成ファイル紹介)を入力し、ユーザーサポートメール で自分のメールを選びます。必須項目だけ埋めて 保存して次へ をクリックします。
- 「スコープ」はそのまま 保存して次へ、「テストユーザー」も必要なら追加して 保存して次へ、最後に ダッシュボードに戻る をクリックします。
- 再度 認証情報 → + 認証情報を作成 → OAuth クライアント ID を選び直します。
4-3. アプリケーションの種類を「ウェブアプリケーション」にする
- アプリケーションの種類(Application type)のプルダウンをクリックします。
- 一覧から ウェブアプリケーション(Web application)を選びます。
※「デスクトップアプリ」や「Android」では、ブラウザからログインして戻る今回の仕組みは使えません。 - 名前(Name)に、わかりやすい名前を入力します(例:AI生成ファイル紹介 ウェブ)。
4-4. 承認済みのリダイレクト URI を追加する
- 承認済みのリダイレクト URI(Authorized redirect URIs)の + URI を追加(+ ADD URI)をクリックします。
- 表示された入力欄に、次の どちらか(または両方)を 1 行に 1 つずつ入力します。
ローカルで試す場合:
http://127.0.0.1:5000/share/auth
または http://localhost:5000/share/auth
本番のサイト(HTTPS)の場合:
https://あなたのドメイン/share/auth(例:https://aiaicursor.com/share/auth) - URL の末尾は必ず /share/auth にします。/share だけや /share/ では動作しません。また http / https とポート番号(:5000 など)も正確に合わせます。
4-5. 作成して ID とシークレットを控える
- 画面下部の 作成(CREATE)をクリックします。
- ポップアップで「OAuth クライアントを作成しました」と表示されます。
クライアント ID(Your Client ID)と クライアント シークレット(Your Client Secret)が表示されるので、両方をコピーして安全な場所に控えます。シークレットは「表示」を押すと見えます。 - OK をクリックして閉じます。
5. このサイトのプログラムに設定する
プロジェクトのフォルダ内に .env というファイルがあります(なければ作成します)。次の 2 行を書き、控えた値に置き換えます。
GOOGLE_CLIENT_ID=ここにクライアントIDを貼り付け GOOGLE_CLIENT_SECRET=ここにクライアントシークレットを貼り付け
.env は .gitignore に含まれており、Git にコミットされません。本番サーバーでは、環境変数 GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET に同じ値を設定します。
6. 動作確認
- サイトを起動し(例:python app.py)、「AI生成ファイル紹介」の ファイルをアップロードする をクリックします。
- ログインしていなければ、Google のログイン画面にリダイレクトされます。Google アカウントでログインすると、アップロード用のフォームに戻り、作者名・メールアドレスに Google の名前とメールが自動で入ります。
- 「リダイレクト URI が一致しません」などのエラーが出る場合は、Google Cloud Console の 承認済みのリダイレクト URI に、ブラウザのアドレスバーに表示されているドメイン・ポート・/share/auth まで含めた URL が 完全に一致して 登録されているか確認してください。
7. あとから変更したいとき
リダイレクト URI を追加・変更する場合:API とサービス → 認証情報 を開き、作成した「OAuth 2.0 クライアント ID」の 名前(例:AI生成ファイル紹介 ウェブ)をクリックします。編集画面で 承認済みのリダイレクト URI を変更し、保存 をクリックします。
クライアント シークレットを再発行したい場合:同じ編集画面で クライアント シークレット の シークレットを再設定 などから新しいシークレットを発行できます。発行したら .env や本番の環境変数を新しい値に更新してください。
「デプロイの記録」でサーバーへの設置手順を、「立ち上げストーリー」「プログラム構築の記録」でサイト全体の成り立ちを確認できます。ログイン設定は、ファイルアップロード機能を公開する前の一歩として行います。
← 立ち上げストーリー
← プログラム構築の記録
← デプロイの記録
← ボタン1つデプロイの記録
← デプロイでまたハマった話
← 改善記録
← ファイル紹介の使い方
← OGP・SEOの記録
← 統合ログインの設計・経緯
← Search Console・サイトマップ
← 環境変数・.env の管理
← Git 入門・インストール
← インストール後に Git で行う設定
← カード神経衰弱の記録
← 異世界シューティングの記録
← 異世界シューティングの難易度
← 異世界戦記(全画面・迷路レイアウト)の記録
← 複数人でのゲーム進行
← 異世界衰弱(不具合の修正)
← 異世界衰弱(機能別フローチャート)
← 異世界ポイントの活用について
← 異世界ポイント市場の実装記録