Guardian v2.0.0 Guardian.Token behaviour View Source

The behaviour module for all token modules.

Token modules are responsible for all the heavy lifting in Guardian.

Link to this section Summary

Callbacks

Build the default claims for the token

Create the token including serializing and signing

Decode the token. Without verification of the claims within it.

Exchange a token from one type to another

Inspect the contents of the token without validation or signature checking

Revoke a token (if appropriate)

Generate a unique id for a token

Verify the claims of a token

Link to this section Types

Link to this type

decoding_error() View Source
decoding_error() :: {:error, atom()}

Link to this type

encoding_error() View Source
encoding_error() :: {:error, atom()}

Link to this type

resource() View Source
resource() :: any()

Link to this type

secret_error() View Source
secret_error() :: {:error, :secret_not_found}

Link to this type

signing_error() View Source
signing_error() :: {:error, :signing_error}

Link to this type

ttl() View Source
ttl() ::
  {pos_integer(), :second}
  | {pos_integer(), :seconds}
  | {pos_integer(), :minute}
  | {pos_integer(), :minutes}
  | {pos_integer(), :hour}
  | {pos_integer(), :hours}
  | {pos_integer(), :day}
  | {pos_integer(), :days}
  | {pos_integer(), :week}
  | {pos_integer(), :weeks}

Link to this section Callbacks

Link to this callback

build_claims(mod, resource, sub, claims, options) View Source
build_claims(
  mod :: module(),
  resource :: any(),
  sub :: String.t(),
  claims :: claims(),
  options :: Keyword.t()
) :: {:ok, claims()} | {:error, atom()}

Build the default claims for the token

Link to this callback

create_token(mod, claims, options) View Source
create_token(mod :: module(), claims :: claims(), options :: Guardian.options()) ::
  {:ok, token()} | signing_error() | secret_error() | encoding_error()

Create the token including serializing and signing

Link to this callback

decode_token(mod, token, options) View Source
decode_token(mod :: module(), token :: token(), options :: Guardian.options()) ::
  {:ok, token()} | secret_error() | decoding_error()

Decode the token. Without verification of the claims within it.

Link to this callback

exchange(mod, old_token, from_type, to_type, options) View Source
exchange(
  mod :: module(),
  old_token :: token(),
  from_type :: String.t() | [String.t(), ...],
  to_type :: String.t(),
  options :: Guardian.options()
) :: {:ok, {token(), claims()}, {token(), claims()}} | {:error, any()}

Exchange a token from one type to another

Link to this callback

peek(module, token) View Source
peek(module :: module(), token :: token()) :: map()

Inspect the contents of the token without validation or signature checking

Link to this callback

refresh(mod, old_token, options) View Source
refresh(mod :: module(), old_token :: token(), options :: Guardian.options()) ::
  {:ok, {token(), claims()}, {token(), claims()}} | {:error, any()}

Refresh a token

Link to this callback

revoke(mod, claims, token, options) View Source
revoke(
  mod :: module(),
  claims :: claims(),
  token :: token(),
  options :: Guardian.options()
) :: {:ok, claims() | {:error, any()}}

Revoke a token (if appropriate)

Generate a unique id for a token

Link to this callback

verify_claims(mod, claims, options) View Source
verify_claims(
  mod :: module(),
  claims :: claims(),
  options :: Guardian.options()
) :: {:ok, claims()} | {:error, any()}

Verify the claims of a token