17 lines
1.1 KiB
Markdown
17 lines
1.1 KiB
Markdown
# Install
|
||
|
||
- 需求:.NET SDK 8.x, PostgreSQL
|
||
- 設定:複製 `.env.example` → `.env`
|
||
- Migration:
|
||
- 預設由 API 啟動時自動執行(`Db__AutoMigrate=true`)
|
||
- 需要關閉時請設定 `Db__AutoMigrate=false`
|
||
- 手動執行可用 `dotnet run --project src/SendEngine.Installer -- migrate`
|
||
- Webhook Auth 初始化(不使用 SQL 檔,改用 Installer):
|
||
- 使用 Installer 建立 webhook client(`id` 自動隨機產生):
|
||
- `dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id <tenant_uuid> --client-id <client_id> --name <display_name> --scopes <scope1,scope2>`
|
||
- 例如:`dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id 11111111-1111-1111-1111-111111111111 --client-id member-center-webhook --name "Member Center Webhook" --scopes newsletter:events.write`
|
||
- 建立成功後,Member Center webhook header `X-Client-Id` 請帶回傳的 `id`
|
||
- Webhook 驗證規則為 tenant 綁定:`auth_clients.tenant_id` 必須等於 payload `tenant_id`
|
||
- 不支援 `X-Client-Id` fallback
|
||
- 預設拒絕 `tenant_id = NULL` 的通用 client(`Webhook__AllowNullTenantClient=false`)
|