Astarte.Flow.Auth.Guardian (astarte_flow v0.1.0)

Link to this section Summary

Functions

Callback implementation for Guardian.build_claims/3.

Fetches the configuration for this module

Returns a resolved value of the configuration found at a key.

Decodes and verifies a token using the configuration on the implementation module.

The default type of token for this module

Exchanges a token of one type for another.

Provides the content of the token but without verification of either the claims or the signature.

Fetch the resource and claims directly from a token

Revoke a token.

If Guardian.Plug.SlidingCookie is used, this callback will be invoked to return the new claims, or an error (which will mean the cookie will not be refreshed).

Link to this section Functions

Link to this function

after_encode_and_sign(r, claims, token, _)

Callback implementation for Guardian.after_encode_and_sign/4.

Link to this function

after_sign_in(conn, r, t, c, o)

Callback implementation for Guardian.after_sign_in/5.

Link to this function

before_sign_out(conn, location, opts)

Callback implementation for Guardian.before_sign_out/3.

Link to this function

build_claims(c, _, _)

Callback implementation for Guardian.build_claims/3.

@spec config() :: Keyword.t()

Fetches the configuration for this module

Link to this function

config(key, default \\ nil)

@spec config(atom() | String.t(), any()) :: any()

Returns a resolved value of the configuration found at a key.

See Guardian.Config.resolve_value/1.

Link to this function

decode_and_verify(token, claims_to_check \\ %{}, opts \\ [])

@spec decode_and_verify(
  Guardian.Token.token(),
  Guardian.Token.claims(),
  Guardian.options()
) :: {:ok, Guardian.Token.claims()} | {:error, any()}

Decodes and verifies a token using the configuration on the implementation module.

See Guardian.decode_and_verify/4

Link to this function

default_token_type()

@spec default_token_type() :: String.t()

The default type of token for this module

Link to this function

encode_and_sign(resource, claims \\ %{}, opts \\ [])

@spec encode_and_sign(any(), Guardian.Token.claims(), Guardian.options()) ::
  {:ok, Guardian.Token.token(), Guardian.Token.claims()} | {:error, any()}

Encodes the claims. See Guardian.encode_and_sign/4 for more information

Link to this function

exchange(token, from_type, to_type, opts \\ [])

@spec exchange(
  token :: Guardian.Token.token(),
  from_type :: String.t() | [String.t(), ...],
  to_type :: String.t(),
  options :: Guardian.options()
) ::
  {:ok, {Guardian.Token.token(), Guardian.Token.claims()},
   {Guardian.Token.token(), Guardian.Token.claims()}}
  | {:error, any()}

Exchanges a token of one type for another.

See Guardian.exchange for more information

Link to this function

on_exchange(old_stuff, new_stuff, options)

Callback implementation for Guardian.on_exchange/3.

Link to this function

on_refresh(old_stuff, new_stuff, options)

Callback implementation for Guardian.on_refresh/3.

Link to this function

on_revoke(claims, token, options)

Callback implementation for Guardian.on_revoke/3.

Link to this function

on_verify(claims, token, options)

Callback implementation for Guardian.on_verify/3.

@spec peek(String.t()) :: map()

Provides the content of the token but without verification of either the claims or the signature.

Claims will be present at the :claims key.

See Guardian.peek/2 for more information

Link to this function

refresh(old_token, opts \\ [])

Refresh a token.

See Guardian.refresh for more information

Link to this function

resource_from_claims(claims)

@spec resource_from_claims(claims :: %{optional(String.t()) => term()}) ::
  {:ok, Astarte.Flow.Auth.User.t()}

Callback implementation for Guardian.resource_from_claims/1.

Link to this function

resource_from_token(token, claims_to_check \\ %{}, opts \\ [])

@spec resource_from_token(
  token :: Guardian.Token.token(),
  claims_to_check :: Guardian.Token.claims() | nil,
  opts :: Guardian.options()
) :: {:ok, Guardian.Token.resource(), Guardian.Token.claims()} | {:error, any()}

Fetch the resource and claims directly from a token

See Guardian.resource_from_token for more information

Link to this function

revoke(token, opts \\ [])

@spec revoke(Guardian.Token.token(), Guardian.options()) ::
  {:ok, Guardian.Token.claims()} | {:error, any()}

Revoke a token.

See Guardian.revoke for more information

Link to this function

sliding_cookie(current_claims, current_resource, opts \\ [])

@spec sliding_cookie(
  current_claims :: Guardian.Token.claims(),
  current_resource :: Guardian.Token.resource(),
  options :: Guardian.options()
) :: {:ok, new_claims :: Guardian.Token.claims()} | {:error, any()}

If Guardian.Plug.SlidingCookie is used, this callback will be invoked to return the new claims, or an error (which will mean the cookie will not be refreshed).

Link to this function

subject_for_token(user, claims)

@spec subject_for_token(Astarte.Flow.Auth.User.t(), claims :: term()) ::
  {:ok, id :: String.t()}

Callback implementation for Guardian.subject_for_token/2.

Link to this function

verify_claims(claims, options)

Callback implementation for Guardian.verify_claims/2.