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 を開く

  1. ブラウザで https://console.cloud.google.com/ を開きます。
  2. 使う Google アカウントでログインします。
  3. 画面上部の プロジェクト名(「マイ プロジェクト」や既存のプロジェクト名が表示されている部分)をクリックし、このサイト用のプロジェクトを選択します。まだなければ 新しいプロジェクト を作成してから選びます。

3. 「認証情報」画面を開く

  1. 左上の ナビゲーションメニュー(≡ 三本線のアイコン)をクリックします。
  2. メニューの中から API とサービス(英語表示の場合は APIs & Services)にマウスを乗せ、サブメニューが出たら 認証情報Credentials)をクリックします。
  3. 「認証情報」ページが開き、認証情報を作成 というボタンや、既存の「OAuth 2.0 クライアント ID」の一覧が表示されます。

4. OAuth クライアント ID を作成する

4-1. 「認証情報を作成」から OAuth を選ぶ

  1. 画面上方の + 認証情報を作成+ CREATE CREDENTIALS)をクリックします。
  2. ドロップダウンの中から OAuth クライアント IDOAuth client ID)をクリックします。

4-2. 「同意画面」を設定する(初回だけ)

初めて OAuth クライアント ID を作る場合、「OAuth 同意画面が設定されていません」と表示されることがあります。そのときは次のように進めます。

  1. 同意画面を構成CONFIGURE CONSENT SCREEN)をクリックします。
  2. User Type外部(External)を選び、作成(Create)をクリックします。
  3. 「アプリ情報」では アプリ名 に任意の名前(例:AI生成ファイル紹介)を入力し、ユーザーサポートメール で自分のメールを選びます。必須項目だけ埋めて 保存して次へ をクリックします。
  4. 「スコープ」はそのまま 保存して次へ、「テストユーザー」も必要なら追加して 保存して次へ、最後に ダッシュボードに戻る をクリックします。
  5. 再度 認証情報+ 認証情報を作成OAuth クライアント ID を選び直します。

4-3. アプリケーションの種類を「ウェブアプリケーション」にする

  1. アプリケーションの種類Application type)のプルダウンをクリックします。
  2. 一覧から ウェブアプリケーションWeb application)を選びます。
    ※「デスクトップアプリ」や「Android」では、ブラウザからログインして戻る今回の仕組みは使えません。
  3. 名前Name)に、わかりやすい名前を入力します(例:AI生成ファイル紹介 ウェブ)。

4-4. 承認済みのリダイレクト URI を追加する

  1. 承認済みのリダイレクト URIAuthorized redirect URIs)の + URI を追加+ ADD URI)をクリックします。
  2. 表示された入力欄に、次の どちらか(または両方)を 1 行に 1 つずつ入力します。
    ローカルで試す場合:
    http://127.0.0.1:5000/share/auth
    または http://localhost:5000/share/auth
    本番のサイト(HTTPS)の場合:
    https://あなたのドメイン/share/auth(例:https://aiaicursor.com/share/auth
  3. URL の末尾は必ず /share/auth にします。/share だけや /share/ では動作しません。また http / https とポート番号(:5000 など)も正確に合わせます。

4-5. 作成して ID とシークレットを控える

  1. 画面下部の 作成CREATE)をクリックします。
  2. ポップアップで「OAuth クライアントを作成しました」と表示されます。
    クライアント IDYour Client ID)と クライアント シークレットYour Client Secret)が表示されるので、両方をコピーして安全な場所に控えます。シークレットは「表示」を押すと見えます。
  3. OK をクリックして閉じます。

5. このサイトのプログラムに設定する

プロジェクトのフォルダ内に .env というファイルがあります(なければ作成します)。次の 2 行を書き、控えた値に置き換えます。

GOOGLE_CLIENT_ID=ここにクライアントIDを貼り付け
GOOGLE_CLIENT_SECRET=ここにクライアントシークレットを貼り付け

.env.gitignore に含まれており、Git にコミットされません。本番サーバーでは、環境変数 GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET に同じ値を設定します。

6. 動作確認

  1. サイトを起動し(例:python app.py)、「AI生成ファイル紹介」の ファイルをアップロードする をクリックします。
  2. ログインしていなければ、Google のログイン画面にリダイレクトされます。Google アカウントでログインすると、アップロード用のフォームに戻り、作者名・メールアドレスに Google の名前とメールが自動で入ります。
  3. 「リダイレクト 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 で行う設定
← カード神経衰弱の記録
← 異世界シューティングの記録
← 異世界シューティングの難易度
← 異世界戦記(全画面・迷路レイアウト)の記録
← 複数人でのゲーム進行
← 異世界衰弱(不具合の修正)
← 異世界衰弱(機能別フローチャート)
← 異世界ポイントの活用について
← 異世界ポイント市場の実装記録