Guardian v1.0.0-beta.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 claims() View Source
claims() :: map
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, :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 :: Guadian.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(token) View Source
peek(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