Tango.AuthorizationVerifier behaviour (tango v0.3.0)

Copy Markdown View Source

Verifies the identity represented by an ephemeral OAuth credential.

Implementations run on the trusted server. Returned claims must be a small, JSON-compatible map containing only identity fields safe for consumers.

Summary

Types

continuity()

@type continuity() :: :initial | {:connection, pos_integer()}

credential()

@type credential() :: %{access_token: String.t(), granted_scopes: [String.t()]}

verification()

@type verification() :: %{
  subject: String.t(),
  claims: map(),
  continuity: continuity()
}

Callbacks

verify(t, credential, keyword)

@callback verify(Tango.Schemas.Provider.t(), credential(), keyword()) ::
  {:ok, verification()} | {:error, atom()}