• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 32058323050
70%

Build:
DEFAULT BRANCH: main
Ran 17 Aug 2026 07:13PM UTC
Jobs 1
Files 876
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Aug 2026 07:04PM UTC coverage: 70.379% (+0.02%) from 70.363%
32058323050

push

github

web-flow
Support actor_token in RFC 8693 token exchange (#6331)

* Support actor_token and id_token in RFC 8693 token exchange

An agent calling the token-exchange grant could previously only be
identified by its own OAuth client credentials at the endpoint. RFC
8693 also defines an explicit actor_token: a second, self-issued JWT
the agent presents alongside the user's subject_token, giving the
exchange a request-level proof of possession distinct from client
authentication. The handler unconditionally rejected both actor_token
and actor_token_type before this change ("not yet supported"), and
only accepted urn:...:access_token/jwt as subject_token_type, so a
subject token minted as an OIDC id_token (a legitimate shape from many
IdPs) had no way to be exchanged.

What changed:
- Accept actor_token + actor_token_type instead of rejecting them
  outright. resolveActorIdentity validates actor_token against the
  server's own JWKS (self-issued only — an actor_token is never
  accepted from an external trusted issuer) and requires its "sub" to
  equal the authenticated client's ID before the exchange proceeds.
- Accept id_token as a valid subject_token_type value.
- Removed the now-superseded validateExchangeParams helper (the old,
  actor_token-rejecting parameter validator) in favor of the new
  validateFormParams/resolveActorIdentity split.
- Corrected docs/arch/token-delegation-act-chain.md, which still
  described RFC 8693's chained-act-claim nesting as "not implemented"
  — that landed separately in #6149 before this branch was rebased;
  the doc had gone stale, not the behavior.
- Added an integration test proving actor_token composes correctly
  with the configured-delegate-client relaxation (a client granted
  blanket self-issued-token trust): a mismatched actor_token must
  still be rejected during actor-identity resolution before delegation
  consent is ever reached, so that blanket trust can never be misread
  as also loosening the actor_token binding c... (continued)

91 of 93 new or added lines in 3 files covered. (97.85%)

20 existing lines in 6 files now uncovered.

85214 of 121079 relevant lines covered (70.38%)

97.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
98.76
1.02% pkg/authserver/server/tokenexchange/handler.go

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
4
61.56
0.09% pkg/workloads/manager.go
3
96.57
-0.45% pkg/authz/authorizers/cedar/core.go
3
80.56
-0.7% pkg/transport/proxy/httpsse/http_proxy.go
2
96.27
0.0% pkg/authserver/storage/memory.go
2
82.27
-0.21% pkg/vmcp/composer/workflow_engine.go
Jobs
ID Job ID Ran Files Coverage
1 32058323050.1 17 Aug 2026 07:13PM UTC 876
70.38
GitHub Action Run
Source Files on build 32058323050
  • Tree
  • List 876
  • Changed 13
  • Source Changed 3
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32058323050
  • a3540917 on github
  • Prev Build on main (#31825923314)
  • Next Build on main (#32059902390)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc