参考
Embassy Admin
管理员 Session 与 Federation 管理 API。
管理员访问是 Embassy 的 admin 身份子域。
import { Embassy } from "@downcity/federation";
const embassy = new Embassy({ federation_url: "https://fed.example.com" });
await embassy.admin.login({ admin_id: "owner", password: "password" });Federation 返回有时限的 Admin Session Token。Embassy 在当前实例中持有它;token()
读取 Token,logout() 撤销它。
Bureau 管理
const bureaus = await embassy.admin.bureaus.list();
const bureau = await embassy.admin.bureaus.create({
bureau_id: "product-web",
name: "Product Web",
server_url: "https://product.example.com",
});
await embassy.admin.bureaus.route.update({
bureau_id: bureau.bureau_id,
server_url: "https://new-product.example.com",
});Bureau Token
const issued = await embassy.admin.bureaus.tokens.issue({
bureau_id: "product-web",
purpose: "production backend",
});
const tokens = await embassy.admin.bureaus.tokens.list("product-web");
await embassy.admin.bureaus.tokens.revoke(issued.token_id);Federation 只在签发时返回 Bureau Token 明文。可信后端保存它并使用独立 Bureau 客户端
执行 identify();Embassy Admin 不负责识别终端用户请求。