52 lines
1.5 KiB
Markdown
52 lines
1.5 KiB
Markdown
# 會員平台(Member Center)
|
||
|
||
此專案為多網站共用的會員登入中心與電子報訂閱管理平台。文件統一放在 `docs/`。
|
||
|
||
## 目標(MVP)
|
||
- 多個網站共用的會員登入中心(SSO)
|
||
- OAuth2 + OIDC 登入(API 與 Redirect 兩種方式)
|
||
- 電子報訂閱管理(含未註冊訂閱)
|
||
- 未註冊訂閱者可自行取消訂閱
|
||
- 未註冊訂閱者未來註冊可沿用訂閱資料
|
||
|
||
## 既定條件
|
||
- OAuth2 + OIDC
|
||
- 會員中心只負責 Email/訂閱管理,發送系統另建
|
||
- 訂閱採 double opt-in
|
||
- 各站各自設計 UI,主要走 API;少數狀況使用 redirect
|
||
- 會員資料跨站共享(邏輯隔離)
|
||
- 訂閱事件同步採 event/queue
|
||
- DB:PostgreSQL
|
||
- 開發: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 與最小 claims(email/profile)
|
||
- 事件系統選擇(Kafka/RabbitMQ/SNS+SQS)
|
||
- 取消訂閱的 UI 形式(純一鍵或提供偏好)
|
||
- GDPR/CCPA 資料匯出與刪除是否納入第一期
|