Lockspire.Clients
(lockspire v1.0.0)
Copy Markdown
Durable client registration API for secure Phase 2 client onboarding.
Summary
Types
@type error_detail() :: %{field: atom(), reason: validation_error(), detail: term()}
@type validation_error() ::
:invalid_client_type
| :invalid_token_endpoint_auth_method
| :invalid_redirect_uri
| :invalid_logout_uri
| :invalid_scope
| :invalid_grant_type
| :invalid_response_type
| :pkce_required
| :client_secret_not_allowed
| :persistence_failed
Functions
@spec generate_client_id() :: String.t()
@spec register_client(map() | keyword()) :: {:ok, Lockspire.Clients.RegistrationResult.t()} | {:error, [error_detail()]}
@spec validate_allowed_scopes([String.t()] | String.t() | nil) :: :ok | {:error, [error_detail()]}
@spec validate_logout_uri(String.t() | nil) :: :ok | {:error, error_detail()}
@spec validate_redirect_uris([String.t()] | String.t() | nil) :: :ok | {:error, [error_detail()]}