一時公開・検索非掲載

RISA 本番セットアップ

必要なキー、取得場所、登録前の確認事項をこの順番で進めます。

登録の順番

  1. 外部サービスでキーを発行
  2. Cloudflare Secretsへ登録
  3. Firebase・Resendのドメイン設定
  4. テスト決済と5媒体の疎通確認
  5. 問題がなければ本番キーへ切り替え
01

Firebase Authentication

Googleログイン

登録する環境変数

NEXT_PUBLIC_FIREBASE_API_KEYNEXT_PUBLIC_FIREBASE_AUTH_DOMAINNEXT_PUBLIC_FIREBASE_PROJECT_IDFIREBASE_PROJECT_ID

取得・設定手順

  1. Firebase Consoleでプロジェクトを作成
  2. Webアプリを追加し、firebaseConfigの3項目を控える
  3. Authentication → Sign-in methodでGoogleを有効化
  4. 承認済みドメインへ risa.human-error.today を追加
02

ユニヴァ・ペイキャスト

カード登録・半年サブスク

登録する環境変数

NEXT_PUBLIC_UNIVAPAY_APP_TOKENUNIVAPAY_SECRETUNIVAPAY_WEBHOOK_AUTH_TOKEN

取得・設定手順

  1. 加盟店管理画面でテスト・本番のアプリトークンとシークレットを取得
  2. Webhook URLに /api/webhooks/univapay を指定
  3. WebhookのAuthorization値を任意に作成し、同じ値をSecretへ登録
  4. テスト環境で初回0円、CVV認証、半年周期、期間終了停止を確認
03

SocialData

Xリサーチ

登録する環境変数

SOCIALDATA_API_KEY

取得・設定手順

  1. SocialDataへ登録・プラン契約
  2. DashboardでAPI Keyを発行
  3. Bearer tokenとしてCloudflare Secretへ登録
04

YouTube Data API

YouTubeリサーチ

登録する環境変数

YOUTUBE_API_KEY

取得・設定手順

  1. Google CloudプロジェクトでYouTube Data API v3を有効化
  2. 認証情報からAPIキーを作成
  3. 利用APIと本番環境に合わせてキー制限を設定
05

Apify

Instagram・TikTok・Threads・YouTube予備

登録する環境変数

APIFY_API_TOKEN

取得・設定手順

  1. Apifyアカウントを作成し、Settings → Integrationsへ移動
  2. Personal API tokenを作成
  3. 利用上限・請求アラートを設定
06

Anthropic

AI分析・AIホーム

登録する環境変数

ANTHROPIC_API_KEY

取得・設定手順

  1. Anthropic ConsoleでWorkspaceを確認
  2. API KeysからRISA専用キーを作成
  3. 利用上限と請求アラートを設定
07

Resend

契約・更新・エラーメール

登録する環境変数

RESEND_API_KEYMAIL_FROM

取得・設定手順

  1. Domainsで risa-mail.human-error.today を追加
  2. 表示されたDKIM・SPF・MX・DMARCをCloudflare DNSへ登録
  3. API KeyをRISA専用で作成
  4. MAIL_FROMを RISA <hello@risa-mail.human-error.today> に設定
08

RISA内部Secret

セッション・暗号化・内部ジョブ

登録する環境変数

SESSION_SECRETAPI_KEY_ENCRYPTION_KEYINTERNAL_JOB_TOKENAPP_URL

取得・設定手順

  1. SESSION_SECRETとINTERNAL_JOB_TOKENは十分長いランダム値を別々に作成
  2. API_KEY_ENCRYPTION_KEYは32バイトをBase64化
  3. APP_URLを https://risa.human-error.today に設定
  4. 値はドキュメントやGitへ記録せずCloudflare Secretsだけに保存

Cloudflare Secrets 登録コマンド

アプリのディレクトリで1行ずつ実行します。値はコマンドへ書かず、Wranglerの入力欄へ貼り付けてください。

cd sns/hashshnet/research-app/app
npx wrangler secret put FIREBASE_PROJECT_ID
npx wrangler secret put UNIVAPAY_SECRET
npx wrangler secret put UNIVAPAY_WEBHOOK_AUTH_TOKEN
npx wrangler secret put SOCIALDATA_API_KEY
npx wrangler secret put YOUTUBE_API_KEY
npx wrangler secret put APIFY_API_TOKEN
npx wrangler secret put ANTHROPIC_API_KEY
npx wrangler secret put RESEND_API_KEY
npx wrangler secret put MAIL_FROM

ブラウザ公開値の登録

NEXT_PUBLIC_* はビルド時に必要です。Git対象外の .env.production.local を作り、次の4項目だけ入力します。

cp .env.example .env.production.local
# .env.production.local をエディタで開いて入力
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_UNIVAPAY_APP_TOKEN=

登録後の再公開

npm run deploy
npx wrangler secret list

内部Secretの SESSION_SECRET、API_KEY_ENCRYPTION_KEY、INTERNAL_JOB_TOKEN と APP_URL は登録済みです。