Expand description
Client-side minting of private_key_jwt client assertions (RFC 7523
§2.2, OIDC Core §9).
This is the mirror image of authkestra_op::client_assertion, which
verifies an inbound assertion at the OP — that module cannot live here
(it needs ClientRegistration/replay-store types this crate has no
business knowing about), but this crate is the one place both halves can
share without a dependency cycle: authkestra-op already depends on
authkestra-engine, never the other way around. So the two constants
below are defined exactly once, here, and authkestra-op re-exports them
rather than keeping its own copies — the assertion-type URN and the
maximum assertion lifetime literally cannot drift between the client side
(crate::flow::ClientCredentialsFlow::new_private_key_jwt) and this
workspace’s own OP.
See mint_client_assertion for the minting logic itself.
Constants§
- CLIENT_
ASSERTION_ TYPE_ JWT_ BEARER - The
client_assertion_typevalue RFC 7523 §2.2 requires when presenting aprivate_key_jwtassertion at a token endpoint. - MAX_
CLIENT_ ASSERTION_ LIFETIME_ SECS - Upper bound on how far in the future a minted assertion’s
expmay sit.
Functions§
- mint_
client_ assertion - Mints a fresh
private_key_jwtclient assertion authenticatingclient_idtoaudience(the token endpoint URL, per RFC 7523 §3).