Lockspire.Protocol.DPoP
(lockspire v1.0.0)
Copy Markdown
DPoP proof decoding, verification, and proof-key thumbprint helpers.
This module owns the protocol-sensitive JOSE work for DPoP proofs so later token and protected-resource flows can depend on one validator.
Summary
Types
@type t() :: %Lockspire.Protocol.DPoP{ claims: map(), header: map(), jkt: String.t() | nil, public_jwk: JOSE.JWK.t() | nil }
@type validate_reason() ::
:invalid_jwt
| :invalid_signature
| :invalid_typ
| :missing_jwk
| :invalid_jwk
| :invalid_claims_options
| :missing_htm
| :invalid_htm
| :missing_htu
| :invalid_htu
| :missing_iat
| :invalid_iat
| :stale_iat
| :future_iat
| :missing_jti
| :unsupported_signing_algorithm
Functions
@spec signing_alg_values_supported() :: [String.t()]
@spec thumbprint(JOSE.JWK.t() | map()) :: {:ok, String.t()} | {:error, :invalid_jwk}
@spec validate_proof( String.t(), keyword() ) :: {:ok, t()} | {:error, validate_reason()}