Sigra.Passkeys.Registration (Sigra v0.2.4)

Copy Markdown View Source

WebAuthn registration ceremony helpers.

This module stays Plug.Conn-free. The caller owns challenge storage and passes the challenge back explicitly for verification.

Summary

Types

attestation_params()

@type attestation_params() :: %{
  :attestation_object => binary(),
  :client_data_json => binary(),
  :challenge => Wax.Challenge.t(),
  optional(:nickname) => String.t() | nil,
  optional(:device_hint) => String.t() | nil,
  optional(:transports) => [String.t()]
}

Functions

new_challenge(config, opts \\ [])

@spec new_challenge(
  Sigra.Config.t(),
  keyword()
) :: Wax.Challenge.t()

verify(config, user, params, opts \\ [])

@spec verify(Sigra.Config.t(), map(), attestation_params(), keyword()) ::
  {:ok, map()} | {:error, term()}