Lockspire.Host.AccountResolver behaviour
(lockspire v1.0.0)
Copy Markdown
Singular host seam for account lookup, claim material, and login handoff.
Summary
Callbacks
Verifies the CIBA user_code (PIN/password) provided by the client.
Types
@type account() :: term()
@type connection() :: Plug.Conn.t() | Phoenix.LiveView.Socket.t() | term()
@type context() :: Lockspire.Host.Context.t()
Callbacks
@callback build_claims(account(), context()) :: {:ok, Lockspire.Host.Claims.t()} | {:error, term()}
@callback redirect_for_login(conn_or_socket :: connection(), context()) :: Lockspire.Host.InteractionResult.t()
@callback redirect_for_logout(conn_or_socket :: connection(), context()) :: Lockspire.Host.InteractionResult.t()
@callback resolve_current_account(conn_or_socket :: connection(), context()) :: {:ok, account()} | {:redirect, Lockspire.Host.InteractionResult.t()}
@callback verify_backchannel_user_code( subject_id :: String.t(), user_code :: String.t(), context() ) :: :ok | {:error, :invalid_user_code | term()}
Verifies the CIBA user_code (PIN/password) provided by the client.