AttestoClient.AuthorizationTransaction (AttestoClient v2.2.0)

Copy Markdown View Source

One-time state for an OpenID Connect authorization transaction.

Transactions bind the callback to the issuer, client, redirect URI, nonce, PKCE verifier, and opaque initiating browser-session value that created it. They are deliberately stored behind the AttestoClient.AuthorizationTransaction.Store behaviour so applications can choose storage appropriate to their topology. The included ETS store is suitable for a single node; clustered deployments should provide a store with equivalent atomic put_new and take semantics.

A transaction contains protocol secrets, especially the PKCE verifier and browser binding. Never send it to the browser or log it.

Summary

Types

t()

@type t() :: %AttestoClient.AuthorizationTransaction{
  browser_binding: String.t(),
  client_id: String.t(),
  code_verifier: String.t(),
  id_token_alg: String.t(),
  issuer: String.t(),
  max_age: non_neg_integer() | nil,
  metadata: map(),
  nonce: String.t(),
  redirect_uri: String.t(),
  state: String.t()
}