Tango.Schemas.OAuthSession (tango v0.1.2)

Copy Markdown View Source

Temporary OAuth flow sessions with PKCE support.

Manages temporary OAuth sessions during authorization flow with CSRF protection and PKCE (Proof Key for Code Exchange) support for enhanced security.

Summary

Functions

Creates a changeset for OAuth session creation

Creates new OAuth session with PKCE support

Checks if session is expired

Generates PKCE code challenge from verifier

Checks if session is valid for use

Validates OAuth state parameter

Types

t()

@type t() :: %Tango.Schemas.OAuthSession{
  __meta__: term(),
  code_verifier: String.t() | nil,
  expires_at: DateTime.t() | nil,
  id: integer() | nil,
  inserted_at: NaiveDateTime.t() | nil,
  metadata: map(),
  provider: Tango.Schemas.Provider.t() | Ecto.Association.NotLoaded.t() | nil,
  provider_id: integer() | nil,
  redirect_uri: String.t() | nil,
  scopes: [String.t()],
  session_token: String.t() | nil,
  state: String.t() | nil,
  tenant_id: String.t() | nil,
  updated_at: NaiveDateTime.t() | nil
}

Functions

changeset(session, attrs)

Creates a changeset for OAuth session creation

create_session(provider_id, tenant_id, opts \\ [])

Creates new OAuth session with PKCE support

expired?(o_auth_session)

Checks if session is expired

generate_code_challenge(arg1)

Generates PKCE code challenge from verifier

valid?(session)

Checks if session is valid for use

validate_state(o_auth_session, received_state)

Validates OAuth state parameter