Crosswake.Companions.Sigra.AuthReturn (crosswake v0.1.2)

View Source

Pure Sigra auth-return boundary contracts.

OAuth callbacks, passkey assertions, native deep links, and shell bridge events are evidence only. Host-owned return attempt records and projected SessionAuthorityLane structs remain the authority source of truth for replay, expiry, route binding, and session promotion.

Summary

Functions

kinds()

@spec kinds() :: [atom()]

lifecycle_states()

@spec lifecycle_states() :: [atom()]

new_attempt_record(attrs)

@spec new_attempt_record(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.AttemptRecord.t()}
  | {:error, keyword()}

new_audit_event(attrs)

@spec new_audit_event(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.AuditEvent.t()}
  | {:error, keyword()}

new_completion(attrs)

@spec new_completion(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.Completion.t()}
  | {:error, keyword()}

new_envelope(attrs)

@spec new_envelope(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.Envelope.t()}
  | {:error, keyword()}

new_native_evidence(attrs)

@spec new_native_evidence(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.NativeEvidence.t()}
  | {:error, keyword()}

new_oauth_evidence(attrs)

@spec new_oauth_evidence(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.OAuthEvidence.t()}
  | {:error, keyword()}

new_passkey_evidence(attrs)

@spec new_passkey_evidence(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.PasskeyEvidence.t()}
  | {:error, keyword()}

new_validation_request(attrs)

@spec new_validation_request(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.AuthReturn.ValidationRequest.t()}
  | {:error, keyword()}

transports()

@spec transports() :: [atom()]

validate_attempt_record(record)

@spec validate_attempt_record(Crosswake.Companions.Sigra.AuthReturn.AttemptRecord.t()) ::
  :ok | {:error, keyword()}

validate_audit_event(event)

@spec validate_audit_event(Crosswake.Companions.Sigra.AuthReturn.AuditEvent.t()) ::
  :ok | {:error, keyword()}

validate_completion(completion)

@spec validate_completion(Crosswake.Companions.Sigra.AuthReturn.Completion.t()) ::
  :ok | {:error, keyword()}

validate_envelope(envelope)

@spec validate_envelope(Crosswake.Companions.Sigra.AuthReturn.Envelope.t()) ::
  :ok | {:error, keyword()}

validate_native_evidence(evidence)

@spec validate_native_evidence(
  Crosswake.Companions.Sigra.AuthReturn.NativeEvidence.t()
) ::
  :ok | {:error, keyword()}

validate_oauth_evidence(evidence)

@spec validate_oauth_evidence(Crosswake.Companions.Sigra.AuthReturn.OAuthEvidence.t()) ::
  :ok | {:error, keyword()}

validate_passkey_evidence(evidence)

@spec validate_passkey_evidence(
  Crosswake.Companions.Sigra.AuthReturn.PasskeyEvidence.t()
) ::
  :ok | {:error, keyword()}

validate_validation_request(request)

@spec validate_validation_request(
  Crosswake.Companions.Sigra.AuthReturn.ValidationRequest.t()
) ::
  :ok | {:error, keyword()}