Reference
Embassy Admin
Administrator sessions and Federation management APIs.
Administrator access is the admin identity domain of Embassy.
import { Embassy } from "@downcity/federation";
const embassy = new Embassy({ federation_url: "https://fed.example.com" });
await embassy.admin.login({ admin_id: "owner", password: "password" });The Federation returns a time-limited Admin Session Token. Embassy keeps it in the current
instance; token() reads it and logout() revokes it.
Bureau management
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 Tokens
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 returns the plaintext Bureau Token only when it is issued. Store it in the trusted
backend and use the independent Bureau client for identify(); Embassy Admin does not identify
end-user requests.