Latch.Config (latch v0.5.0)

Copy Markdown

The internal configuration that drives the library.

Fields

  • :store - a module implementing Latch.Store
  • :name - the name of the Latch instance
  • :mode - :confidential, :public, or :localhost
  • :redirect_uri_path - the OAuth callback path
  • :scope - the requsted scopes
  • :client_id_path - the path of the published client metadata document
  • :signing_key - the JSON-encoded ES256 private JWK for private_key_jwt as string
  • :client_name - shown on the authorization consent screen
  • :client_uri - client home page
  • :base_url_fun - function to build the base URL for redirect_uri and client_id, because the host is frequently only known at runtime.

Summary

Types

mode()

@type mode() :: :confidential | :public | :localhost

t()

@type t() :: %Latch.Config{
  base_url_fun: (-> String.t()),
  client_id_path: String.t() | nil,
  client_name: String.t() | nil,
  client_uri: String.t() | nil,
  mode: mode(),
  name: atom() | pid(),
  redirect_uri_path: String.t(),
  request_ttl: non_neg_integer(),
  scope: String.t(),
  signing_key: map() | nil,
  store: module()
}

Functions

client_id(arg1)

confidential?(config)

localhost?(config)

redirect_uri(config)