---
tags: [credential, 架構]
gloss: 做四個 TinyGo/WASM primitive，每個服務只要一份 YAML recipe ＋ 用戶自己的 secret。
created: 2026-05-25
updated: 2026-08-15
---
# 四個 primitive 不是每服務一個零件

← [[credential_parts]]

## 摘要

credential 設計的核心主張。它是三層模型：primitive（程式）／recipe（公共設定）／secret（私有）。

## 重點

- **四個 primitive** 涵蓋所有認證方式，不隨服務數量成長
- **recipe 存平台 KV（公共）、secret 存 tenant KV（私有）**，runtime 由 AuthBroker 組裝
- 它明確反對 [[n8n 的每服務一零件]]
- ⚠️ 本卡只涵蓋這份 29KB 文件的 §0–§2；`§3 四個 primitive 詳細規格`、`§4 Recipe Schema` 等**尚未分段萃取**

## 實體

- **primitive**（零件）— TinyGo/WASM 寫的認證原語，共四個。
- **recipe**（設定）— 每服務一份 YAML，存公共 KV。
- **AuthBroker**（組裝者）— runtime 把 recipe 與 secret 組成可用的 HTTP client。

## 關聯

### 內文知識關係

- primitive >> 加上 >> recipe 與 secret
- AuthBroker >> 組裝 >> 可用的 HTTP client
- recipe >> 存於 >> 公共 KV
- secret >> 存於 >> tenant KV

### 卡片關係

- 四個 primitive 不是每服務一個零件 >> 反的是 >> [[n8n 的每服務一零件]]
- 四個 primitive 不是每服務一個零件 >> 屬於 >> [[credential_parts]]

### 出處（原文 >> 提及 >> 本卡，可多筆）

- `../credential_parts.md` >> 提及 >> 四個 primitive 不是每服務一個零件
