member_center/README.md
2026-01-30 16:57:29 +09:00

52 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 會員平台Member Center
此專案為多網站共用的會員登入中心與電子報訂閱管理平台。文件統一放在 `docs/`
## 目標MVP
- 多個網站共用的會員登入中心SSO
- OAuth2 + OIDC 登入API 與 Redirect 兩種方式)
- 電子報訂閱管理(含未註冊訂閱)
- 未註冊訂閱者可自行取消訂閱
- 未註冊訂閱者未來註冊可沿用訂閱資料
## 既定條件
- OAuth2 + OIDC
- 會員中心只負責 Email/訂閱管理,發送系統另建
- 訂閱採 double opt-in
- 各站各自設計 UI主要走 API少數狀況使用 redirect
- 會員資料跨站共享(邏輯隔離)
- 訂閱事件同步採 event/queue
- DBPostgreSQL
- 開發C# .NET Core + MVC + OpenIddict
## 範圍(第一階段)
- 多租戶(站點)概念與基本設定
- 會員與訂閱者 Email 身分識別
- OAuth2/OIDC 授權Authorization Code + PKCE
- 訂閱/取消訂閱流程(含未註冊)
- 基本管理後台(核心 CRUD
## 非目標(暫不處理)
- 第三方社群登入
- MFA
- 行銷自動化或行為追蹤
- 金流/付費會員
## 文件
- `docs/DESIGN.md`
- `docs/UI.md`
- `docs/USE_CASES.md`
- `docs/FLOWS.md`
- `docs/OPENAPI.md`
- `docs/openapi.yaml`
- `docs/SCHEMA.sql`
- `docs/TECH_STACK.md`
- `docs/SEED.sql`
- `docs/INSTALL.md`
## 待確認事項
- OAuth2 scopes 與最小 claimsemail/profile
- 事件系統選擇Kafka/RabbitMQ/SNS+SQS
- 取消訂閱的 UI 形式(純一鍵或提供偏好)
- GDPR/CCPA 資料匯出與刪除是否納入第一期