docs: the broker rename is done
The audience table now names token-exchange-broker, and the blocker that recorded the leak is closed. What remains in that section is the missing employeeNumber claim, which is unrelated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -105,11 +105,11 @@ MCP servers, one per domain:
|
||||
|
||||
| Domain | URL | Audience scopes to request |
|
||||
|---|---|---|
|
||||
| catalog | `https://catalog-dev.sttlab.local/catalog-mcp` | `mcp-catalog-audience kong-token-exchange-broker-audience` |
|
||||
| customers | `https://customers-dev.sttlab.local/customers-mcp` | `mcp-customers-audience kong-token-exchange-broker-audience` |
|
||||
| payments | `https://payments-dev.sttlab.local/payments-mcp` | `mcp-payments-audience kong-token-exchange-broker-audience` |
|
||||
| sales | `https://sales-dev.sttlab.local/sales-mcp` | `mcp-sales-audience kong-token-exchange-broker-audience` |
|
||||
| workforce | `https://workforce-dev.sttlab.local/workforce-mcp` | `mcp-workforce-audience kong-token-exchange-broker-audience` |
|
||||
| catalog | `https://catalog-dev.sttlab.local/catalog-mcp` | `mcp-catalog-audience token-exchange-broker-audience` |
|
||||
| customers | `https://customers-dev.sttlab.local/customers-mcp` | `mcp-customers-audience token-exchange-broker-audience` |
|
||||
| payments | `https://payments-dev.sttlab.local/payments-mcp` | `mcp-payments-audience token-exchange-broker-audience` |
|
||||
| sales | `https://sales-dev.sttlab.local/sales-mcp` | `mcp-sales-audience token-exchange-broker-audience` |
|
||||
| workforce | `https://workforce-dev.sttlab.local/workforce-mcp` | `mcp-workforce-audience token-exchange-broker-audience` |
|
||||
|
||||
**Two scopes per server, not one.** The MCP endpoint exchanges the token again
|
||||
on its own account before reaching the domain API, so the token must also name
|
||||
@@ -120,9 +120,9 @@ Measured on catalog: with both scopes the MCP server answers `200`, with
|
||||
`mcp-catalog-audience` alone it answers `401`. LibreChat has always requested
|
||||
both.
|
||||
|
||||
This is a property of the contract as it stands, not of any agent's design. The
|
||||
broker client is still named after the middleware that introduced it, which is
|
||||
a leak worth closing — see the blockers.
|
||||
This is a property of the contract as it stands, not of any agent's design. If
|
||||
the middleware serving these URLs is replaced by something that does not
|
||||
re-exchange, the second scope simply becomes unnecessary.
|
||||
|
||||
LLM inference goes through the estate's LLM endpoint, never direct to a model
|
||||
provider:
|
||||
@@ -214,14 +214,6 @@ territory, a manager sees all) resolves through
|
||||
identity, so the API cannot filter server-side. The realm's users
|
||||
(`admin-user`, `pm-user`, …) are role placeholders, not real employees.
|
||||
|
||||
**The broker client is named after the middleware.** Every agent must request
|
||||
`kong-token-exchange-broker-audience` alongside the server's own audience, so
|
||||
the one thing an agent cannot avoid naming is the very thing it should not know
|
||||
about. Closing it means renaming the client and its scope in Keycloak, and
|
||||
following that rename through the gateway configuration, LibreChat and each
|
||||
agent's config. Until then, treat the string as an opaque identifier owned by
|
||||
the realm.
|
||||
|
||||
## Conventions
|
||||
|
||||
- Deliverables in English: code, comments, READMEs, Agent Cards. Conversation
|
||||
|
||||
Reference in New Issue
Block a user