Skip to content

feat: narrow the CFM agents' IssuerService scopes - #234

Merged
paullatzelsperger merged 1 commit into
mainfrom
feat/narrow_issuer_admin_scope
Nov 11, 2026
Merged

paullatzelsperger merged 1 commit into
mainfrom
feat/narrow_issuer_admin_scope

Conversation

@paullatzelsperger

@paullatzelsperger paullatzelsperger commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

The registration and onboarding agents called the IssuerService admin API with issuer-admin-api:admin, granted on every tenant's participant context. That scope bypasses the issuer's ownership checks.

The issuer client now exchanges its token under the issuer's own context (issuer.id) and requests only what each call needs: holders:write for creating and deleting holders, credentials:read for the query, credentials:write for revocation. The participantContextID parameter, which only served the token binding, is removed from those calls, and issuer-admin-api:admin is dropped from the per-tenant agent mapping.

Requires core-platform-distribution 0.0.40 (eclipse-cfm/core-platform-distribution#45), which seeds the cfm-agents mapping on the issuer context.

🤖 Generated with Claude Code

The registration and onboarding agents called the IssuerService admin
API with issuer-admin-api:admin, granted on every tenant's participant
context, because the tenant's token sub is no context the IssuerService
knows. They now exchange their token under the issuer's own context,
whose sub owns every path they address, and request only
holders:write (create/delete holder), credentials:read (query) and
credentials:write (revoke). issuer-admin-api:admin is dropped from the
per-tenant agent mapping.

Requires core-platform-distribution 0.0.40, which seeds the cfm-agents
mapping on the issuer context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants