Tango.Schemas.AuditLog (tango v0.1.2)

Copy Markdown View Source

Comprehensive OAuth activity logging for security and compliance.

Records all OAuth-related events with structured metadata for debugging, security monitoring, and compliance auditing.

Summary

Types

t()

@type t() :: %Tango.Schemas.AuditLog{
  __meta__: term(),
  connection:
    Tango.Schemas.Connection.t() | Ecto.Association.NotLoaded.t() | nil,
  connection_id: integer() | nil,
  error_code: atom() | nil,
  event_data: map(),
  event_type: atom() | nil,
  id: integer() | nil,
  inserted_at: NaiveDateTime.t() | nil,
  ip_address: String.t() | nil,
  occurred_at: DateTime.t() | nil,
  provider: Tango.Schemas.Provider.t() | Ecto.Association.NotLoaded.t() | nil,
  provider_id: integer() | nil,
  sensitive_data_hash: String.t() | nil,
  session_id: String.t() | nil,
  success: boolean() | nil,
  tenant_id: String.t() | nil,
  user_agent: String.t() | nil
}

Functions

changeset(audit_log, attrs)

Creates a changeset for audit log entry

log_connection_event(event_type, connection, success, event_data \\ %{})

Logs connection-related events

log_oauth_callback_error(event_type, error_code, tenant_id, session_id \\ nil, event_data \\ %{})

Logs OAuth callback errors (user denial, provider errors, malformed callbacks)

log_oauth_start(provider, tenant_id, session, opts \\ %{})

Logs OAuth session start event

log_provider_event(event_type, provider, success, event_data \\ %{})

Logs provider configuration changes

log_session_cleanup(expired_count, tenant_id \\ "system")

Logs session expiration cleanup

log_system_event(event_type, success, event_data \\ %{})

Logs system-level events

log_token_exchange(session, connection, success, error \\ nil)

Logs token exchange completion