参考

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 不负责识别终端用户请求。