Lockspire.Domain.DeviceAuthorization
(lockspire v1.0.0)
Copy Markdown
Core domain model for OAuth 2.0 Device Authorization Grant (RFC 8628).
Summary
Functions
Issues a new Device Authorization struct.
Types
@type status() :: :pending | :approved | :denied | :consumed | :expired
@type t() :: %Lockspire.Domain.DeviceAuthorization{ approved_at: DateTime.t() | nil, client_id: String.t(), consumed_at: DateTime.t() | nil, denied_at: DateTime.t() | nil, device_code: String.t() | nil, device_code_hash: String.t(), effective_poll_interval_seconds: pos_integer(), expired_at: DateTime.t() | nil, expires_at: DateTime.t(), id: integer() | nil, next_poll_allowed_at: DateTime.t(), scopes: [String.t()], status: status(), subject_id: String.t() | nil, user_code: String.t() | nil, user_code_hash: String.t(), verification_handle: String.t() }
Functions
@spec default_poll_interval_seconds() :: pos_integer()
@spec initial_next_poll_allowed_at(DateTime.t()) :: DateTime.t()
Issues a new Device Authorization struct.
@spec statuses() :: [status(), ...]