Skip to content

feat: narrow the onboarding API's IssuerService scopes, bump platform - #45

Merged
paullatzelsperger merged 1 commit into
mainfrom
feat/narrow_issuer_admin_scope
Nov 12, 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
Collaborator

The dx-onboarding-api registered holders and sent credential offers with issuer-admin-api:admin, exchanged under the platform's sudo mapping. That scope bypasses the IssuerService's ownership checks.

dx-onboarding-api

  • The token is now exchanged under the issuer's own participant context (issuer-service.token-resource: issuer). Its sub owns every /v1/participants/issuer/... path the app calls, so the resource scopes suffice.
  • Holder registration requests issuer-admin-api:holders:read and :holders:write; the credential offer requests :credentials:write.
  • The chart's jwtlet mapping for the app's ServiceAccount moves from sudo / issuer-admin-api:admin to issuer with exactly those three scopes.

Platform

🤖 Generated with Claude Code

The DECADE-X onboarding API registered holders and sent credential
offers with a token exchanged under the platform's sudo mapping for
issuer-admin-api:admin, which bypasses the IssuerService's ownership
checks. It now exchanges its token under the issuer's own participant
context, whose sub owns every path it addresses, and requests only
issuer-admin-api:holders:read and :holders:write for the holder
registration and :credentials:write for the offer. The chart's jwtlet
mapping is narrowed to the same.

Bumps core-platform-distribution to 0.0.41, which runs CFM 0.0.8 (the
CFM agents also call the IssuerService under the issuer's context now)
and seeds their issuer mapping, and the certo agent to 0.0.8.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@paullatzelsperger
paullatzelsperger merged commit 55a89f3 into main Nov 12, 2026
2 checks passed
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