Expand description
§nucleus-identity-projection — JWT-SVID adapter for the substrate
Implements the Identity projection functor from
nucleus_substrate_core: lifts a JWT-SVID into
the typed body of a Projection::Identity variant, and verifies
it offline against a published JWKS.
§Wire shape
{
"kind": "identity",
"body": {
"version": 1,
"subject": "spiffe://example.local/agent",
"audience": "nucleus-substrate",
"issuer_kid": "...",
"svid_jwt": "eyJ..."
}
}§Verifier path
verify_identity_projection takes the body + the issuer’s JWKS
JSON, locates the Ed25519 verifying key by issuer_kid, and runs
the standard jsonwebtoken decode + validate path. Claim checks:
- JWT signature verifies against the JWKS key for
issuer_kid. - JWT
submatchesbody.subject. - JWT
audmatchesbody.audience. - JWT
expis in the future.
Any failure → IdentityVerifyError.
Structs§
- Identity
Body - Wire-stable shape for the Identity projection body.
- JwtSvid
Claims - Minimum required JWT-SVID claims per the spec. Extra claims are
allowed (and ignored here);
serde_json::Valuecapture is left for callers that need provider-specific extensions.
Enums§
Constants§
Functions§
- identity_
projection - Build a
Projection::Identitycarrying the supplied JWT-SVID. Callers will typically place this into theprojectionsfield of anucleus_substrate_core::Receipt. - verify_
identity_ projection - Verify an Identity projection offline against the issuer’s JWKS.