環境変数・.env の管理

環境変数・.env の管理

GOOGLE_CLIENT_ID や GOOGLE_CLIENT_SECRET など、本番とローカルで違う値を使う設定 を、環境変数と .env でどう持つかをまとめます。ログイン設定の記録の「運用編」として参照してください。


1. なぜ環境変数にするか

  • 秘密情報(クライアントシークレット、API キーなど)をソースコードに書かないため。
  • 環境ごとに値が違う(ローカル用・本番用)ため、1つのコードベースで切り替えられるようにする。

2. .env ファイルの扱い

  • プロジェクト直下に .env を置き、KEY=value の形式で書く。
  • .env は .gitignore に含める。リポジトリにコミットしない。
  • 本番サーバーでは、サーバー側で環境変数を設定する(さくらなら .env を手動で置く、または systemd の Environment= などで渡す)。

3. 主な変数の例(ログインまわり)

変数名 用途
GOOGLE_CLIENT_ID Google OAuth 用クライアント ID
GOOGLE_CLIENT_SECRET Google OAuth 用シークレット
FLASK_SECRET_KEY セッションなどで使う秘密鍵

ローカル用と本番用で別の値を使う場合、それぞれの環境の .env に書くか、本番のみサーバーの環境変数で上書きする。


4. アプリでの読み方

  • Flask では os.environ.get("GOOGLE_CLIENT_ID") や、python-dotenv を使う場合は load_dotenv().env を読み込んでから os.environ.get(...) で参照する。
  • 存在しないときのフォールバック(例: 開発時だけダミー値を出す)は、必要に応じてアプリ側で分岐する。

5. 関連

  • ログイン設定の記録(/login-guide)… Google Cloud Console でクライアント ID を作る手順。
  • 本番デプロイ時の設定は、さくらサーバーにアップする手順のノートを参照。

← 立ち上げストーリー
← プログラム構築の記録
← デプロイの記録
← ボタン1つデプロイの記録
← デプロイでまたハマった話
← ログイン設定の記録
← 改善記録
← ファイル紹介の使い方
← OGP・SEOの記録
← 統合ログインの設計・経緯
← Search Console・サイトマップ
← Git 入門・インストール
← インストール後に Git で行う設定
← カード神経衰弱の記録
← 異世界シューティングの記録
← 異世界シューティングの難易度
← 異世界戦記(全画面・迷路レイアウト)の記録
← 複数人でのゲーム進行
← 異世界衰弱(不具合の修正)
← 異世界衰弱(機能別フローチャート)
← 異世界ポイントの活用について
← 異世界ポイント市場の実装記録