claude-memory/project_api_keys.md

57 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

---
name: APIキー体系・認証設計移行中
description: 現行の pk_ キー体系と、移行予定の Magic Link + Passkey 認証の状態
type: project
---
## 現行認証pk_ キー体系)— 移行中・触らない
| ユーザー | キー | localStorage キー名 |
|---------|------|-------------------|
| maita | pk_maita_a2be09f6eaaba0db65b72f085ea352d3 | posimai_api_key |
| partner | pk_partner_fcfcbdf7d4a2ee23abf3ad046830af44 | posimai_api_key |
| musume | pk_musume_76488f7ee2a4e6cd9d4b3ad6284d4cc7 | posimai_api_key |
**注意:** `X-API-Key` ヘッダー・`?init_key=` パラメータ・localStorage のキー保存ロジックは変更禁止。インフラ担当 AI が新認証完成後に移行する。
## 新認証実装中・2026-03-26 時点)
**方式:** Magic Linkメール+ PasskeyWebAuthn/FIDO2
**実装場所:** VPS server.js`@simplewebauthn/server@13.3.0` + `jsonwebtoken@9.0.3`
**Supabase Auth は不採用**認証を2箇所に持つことになるため
### VPS 環境変数(設定済み)
- `JWT_SECRET`: 設定済み
- `WEBAUTHN_RP_ID`: `posimai.soar-enrich.com`
- `WEBAUTHN_ORIGINS`: `https://posimai.soar-enrich.com,http://localhost:3000`
- `MAGIC_LINK_BASE_URL`: `https://posimai.soar-enrich.com`
- `RESEND_API_KEY`: 設定済みDNS 検証待ち)
### VPS DB テーブル(作成済み)
- `magic_link_tokens` — Magic Link トークン管理
- `passkey_credentials` — WebAuthn 公開鍵保存
- `auth_sessions` — JWT セッション管理
- `magic_link_rate_limit` — レート制限
- `users.email` / `users.email_verified` — カラム追加済み
### server.js 実装状況
- エンドポイント実装: **未完了(次のセッションで実施予定)**
- 実装予定エンドポイント:
- `POST /api/auth/magic-link/send`
- `GET /api/auth/magic-link/verify`
- `POST /api/auth/passkey/register/begin`
- `POST /api/auth/passkey/register/finish`
- `POST /api/auth/passkey/login/begin`
- `POST /api/auth/passkey/login/finish`
- `GET /api/auth/session/verify`
- `DELETE /api/auth/session`
## Gemini API キー
- サーバーサイドserver.jsが Gemini に接続するためのキー
- docker-compose.yml の `GEMINI_API_KEY` に設定済み
- think アプリはフロントから直接 Gemini API を呼び出す(ユーザーが自分の API キーを入力)
## Dashboard 環境変数
- Vercel: `POSIMAI_API_KEY` = pk_maita_...(設定済み)
- Vercel: `BASIC_AUTH_USER` / `BASIC_AUTH_PASSWORD`(設定済み)