Auctoritas v0.9.1 Auctoritas.DataStorage behaviour View Source

DataStorage module

  • Specifies DataStorage behaviour

Link to this section Summary

Types

Token expiration in seconds

Name from config (Auctoritas supervisor name)

Authentication token

Callbacks

Delete token from data_storage, used when deauthenticating (logging out)

Return refresh tokens with specified start and amount value

Return tokens with specified start and amount value

Insert token with expiration and supplied data map

Starts data_storage when returned {:ok, worker_map_or_equals} Return {:no_worker} if data_storage startup isn't required

Return token expiration time in seconds

Link to this section Types

Token expiration in seconds

Name from config (Auctoritas supervisor name)

Authentication token

Link to this section Callbacks

Link to this callback

delete_refresh_token(name, refresh_token) View Source
delete_refresh_token(name(), refresh_token :: token()) ::
  {atom(), any()} :: {:ok, boolean()} | {:error, error :: any()}

Link to this callback

delete_token(name, token) View Source
delete_token(name(), token :: token()) ::
  {atom(), any()} :: {:ok, boolean()} | {:error, error :: any()}

Delete token from data_storage, used when deauthenticating (logging out)

Link to this callback

get_refresh_token_data(name, refresh_token) View Source
get_refresh_token_data(name(), refresh_token :: token()) ::
  {:ok,
   %Auctoritas.DataStorage.RefreshTokenData{
     auth_data: term(),
     metadata: term(),
     token: term()
   }}
  | {:error, error :: any()}

Link to this callback

get_refresh_tokens(name, start, amount) View Source
get_refresh_tokens(
  name(),
  start :: non_neg_integer(),
  amount :: non_neg_integer()
) :: {:ok, [token()]} | {:error, error :: any()}

Return refresh tokens with specified start and amount value

Link to this callback

get_token_data(name, token) View Source
get_token_data(name(), token :: token()) ::
  {:ok,
   %Auctoritas.DataStorage.Data{
     data: term(),
     metadata: term(),
     refresh_token: term()
   }}
  | {:error, error :: any()}

Link to this callback

get_tokens(name, start, amount) View Source
get_tokens(name(), start :: non_neg_integer(), amount :: non_neg_integer()) ::
  {:ok, [token()]} | {:error, error :: any()}

Return tokens with specified start and amount value

Link to this callback

insert_refresh_token(name, refresh_token_expiration, refresh_token, token, auth_data) View Source
insert_refresh_token(
  name(),
  refresh_token_expiration :: expiration(),
  refresh_token :: token(),
  token :: token(),
  auth_data :: map()
) ::
  {:ok, token(),
   %Auctoritas.DataStorage.RefreshTokenData{
     auth_data: term(),
     metadata: term(),
     token: term()
   }}
  | {:error, error :: any()}

Link to this callback

insert_token(name, token_expiration, token, token_data) View Source
insert_token(
  name(),
  token_expiration :: expiration(),
  token :: token(),
  token_data :: map()
) ::
  {:ok, token(),
   %Auctoritas.DataStorage.Data{
     data: term(),
     metadata: term(),
     refresh_token: term()
   }}
  | {:error, error :: any()}

Insert token with expiration and supplied data map.

Link to this callback

insert_token(name, token_expiration, token, refresh_token, token_data) View Source
insert_token(
  name(),
  token_expiration :: expiration(),
  token :: token(),
  refresh_token :: token(),
  token_data :: map()
) ::
  {:ok, token(),
   %Auctoritas.DataStorage.Data{
     data: term(),
     metadata: term(),
     refresh_token: term()
   }}
  | {:error, error :: any()}

Link to this callback

reset_expiration(name, token, expiration) View Source
reset_expiration(name(), token :: token(), expiration()) :: {atom(), any()}

Link to this callback

start_link(map) View Source
start_link(map()) :: {:ok, list()} | {:no_worker}

Starts data_storage when returned {:ok, worker_map_or_equals} Return {:no_worker} if data_storage startup isn't required

Link to this callback

token_expires?(name, token) View Source
token_expires?(name(), token()) ::
  {:ok, expiration()} | {:error, error :: any()}

Return token expiration time in seconds