Lockspire. Protocol. Registration
(lockspire v1.6.1)
Copy Markdown
RFC 7591 dynamic client registration intake — Plug.Conn-free orchestrator.
Pipeline:
- Precondition gate — when
server_policy.registration_policy == :initial_access_tokenandiat == nil, reject with%Error{code: :invalid_token, field: :iat, reason: :missing}BEFORE any other step. - IAT redemption via
Lockspire.Protocol.InitialAccessToken.redeem/1(skipped ifiatis nil). - DCR policy resolution via
Lockspire.Protocol.DcrPolicy.resolve/3. - Intake validation for JWKS coherence, redirect URIs, and the PKCE floor.
- Credential generation (
client_id, an auth-method-appropriate optionalclient_secret, andregistration_access_token). - Persistence via the internal DCR-aware lifecycle helper (DCR-aware persistence helper — preserves provenance/RAT-hash/IAT-FK/issued_at/expires_at verbatim while keeping protocol orchestration independent of operator delivery).
- Post-commit audit + telemetry emission (
:dcr_registration_succeeded/:dcr_registration_rejected).
To prevent IAT enumeration, redemption failures collapse to
%Error{code: :invalid_token} (the discriminator stays in telemetry).