Lockspire.Domain.Interaction (lockspire v1.0.0)

Copy Markdown

Ephemeral-but-durable authorization interaction state.

Summary

Types

code_challenge_method()

@type code_challenge_method() :: :S256 | nil

prompt()

@type prompt() :: String.t() | [String.t()] | nil

status()

@type status() :: :pending_login | :pending_consent | :completed | :denied | :expired

t()

@type t() :: %Lockspire.Domain.Interaction{
  account_id: String.t() | nil,
  auth_time: DateTime.t() | nil,
  auth_time_requested: boolean(),
  authorization_details: [map()],
  client_id: String.t(),
  code_challenge: String.t() | nil,
  code_challenge_method: code_challenge_method(),
  completed_at: DateTime.t() | nil,
  consent_requested_at: DateTime.t() | nil,
  denial_reason: String.t() | nil,
  denied_at: DateTime.t() | nil,
  expired_at: DateTime.t() | nil,
  expires_at: DateTime.t(),
  id: integer() | nil,
  inserted_at: DateTime.t() | nil,
  interaction_id: String.t(),
  login_required_at: DateTime.t() | nil,
  max_age: non_neg_integer() | nil,
  nonce: String.t() | nil,
  prompt: prompt(),
  redirect_uri: String.t() | nil,
  resources_requested: [String.t()],
  response_mode: String.t() | nil,
  return_to: String.t(),
  scopes_requested: [String.t()],
  sid: String.t() | nil,
  state: String.t() | nil,
  status: status(),
  tenant_id: String.t() | nil,
  updated_at: DateTime.t() | nil
}