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 |
|
| Domain | URL | Audience scopes to request |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| catalog | `https://catalog-dev.sttlab.local/catalog-mcp` | `mcp-catalog-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 kong-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 kong-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 kong-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 kong-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
|
**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
|
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
|
`mcp-catalog-audience` alone it answers `401`. LibreChat has always requested
|
||||||
both.
|
both.
|
||||||
|
|
||||||
This is a property of the contract as it stands, not of any agent's design. The
|
This is a property of the contract as it stands, not of any agent's design. If
|
||||||
broker client is still named after the middleware that introduced it, which is
|
the middleware serving these URLs is replaced by something that does not
|
||||||
a leak worth closing — see the blockers.
|
re-exchange, the second scope simply becomes unnecessary.
|
||||||
|
|
||||||
LLM inference goes through the estate's LLM endpoint, never direct to a model
|
LLM inference goes through the estate's LLM endpoint, never direct to a model
|
||||||
provider:
|
provider:
|
||||||
@@ -214,14 +214,6 @@ territory, a manager sees all) resolves through
|
|||||||
identity, so the API cannot filter server-side. The realm's users
|
identity, so the API cannot filter server-side. The realm's users
|
||||||
(`admin-user`, `pm-user`, …) are role placeholders, not real employees.
|
(`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
|
## Conventions
|
||||||
|
|
||||||
- Deliverables in English: code, comments, READMEs, Agent Cards. Conversation
|
- Deliverables in English: code, comments, READMEs, Agent Cards. Conversation
|
||||||
|
|||||||
Reference in New Issue
Block a user