1.8 KiB
1.8 KiB
memberapi.ose.tw 後端架構(公司/品牌站台/會員 + 系統/模組權限)
資料層級
- 業務層級:
companies -> sites -> users - 功能層級:
systems -> modules - 授權掛載點:
- Scope:
company或site - 能力:
system必填,module選填(空值代表系統層)
- Scope:
權限模型
- 直接授權:
user_scope_permissions - 群組授權:
permission_groups+permission_group_members+permission_group_permissions - 權限快照:
/me/permissions/snapshot會合併「直接 + 群組」並去重
目前後端 API(管理面)
- 主資料:
GET|POST|PATCH /admin/systemsGET|POST|PATCH /admin/modulesGET|POST|PATCH /admin/companiesGET|POST|PATCH /admin/sites
- 會員:
GET /admin/membersPOST /admin/members/upsertPATCH /admin/members/{authentik_sub}
- 會員群組(改由會員頁管理):
GET /admin/members/{authentik_sub}/permission-groupsPUT /admin/members/{authentik_sub}/permission-groups
- 群組:
GET|POST|PATCH /admin/permission-groupsGET /admin/permission-groups/{group_key}/permissionsPOST /admin/permission-groups/{group_key}/permissions/grantPOST /admin/permission-groups/{group_key}/permissions/revoke
- 直接授權:
POST /admin/permissions/grantPOST /admin/permissions/revokeGET /admin/permissions/directDELETE /admin/permissions/direct/{permission_id}
驗證與查詢 API
- 使用者端:
GET /meGET /me/permissions/snapshot
- OIDC:
GET /auth/oidc/urlPOST /auth/oidc/exchange
- Internal(跨系統查詢):
GET /internal/systems|modules|companies|sites|membersGET /internal/permissions/{authentik_sub}/snapshot
DB 與初始化
- 統一 schema:
backend/scripts/init_schema.sql - schema 快照:
docs/DB_SCHEMA_SNAPSHOT.md