View Source Pow.Plug (Pow v1.0.27)

Plug helper methods.

Link to this section Summary

Functions

Assign an authenticated user to the connection.

Authenticates a user.

Creates a changeset from the current authenticated user.

Call create/3 for the Pow plug set for the conn.

Creates a new user.

Get the current user assigned to the conn.

Get the current user assigned to the conn.

Call delete/2 for the Pow plug set for the conn.

Deletes the current authenticated user.

Fetch configuration from the private key in the connection.

Prepend namespace found in Plug Pow configuration to binary.

Put the provided config as a private key in the connection.

Signs a token for public consumption.

Updates the current authenticated user.

Decodes and verifies a token.

Link to this section Functions

Link to this function

assign_current_user(conn, user, config)

View Source
@spec assign_current_user(Plug.Conn.t(), any(), Pow.Config.t()) :: Plug.Conn.t()

Assign an authenticated user to the connection.

This will assign the user to the conn. The key is by default :current_user, but it can be overridden with :current_user_assigns_key configuration option.

Link to this function

authenticate_user(conn, params)

View Source
@spec authenticate_user(Plug.Conn.t(), map()) :: {:ok | :error, Plug.Conn.t()}

Authenticates a user.

If successful, a new session will be created.

Link to this function

change_user(conn, params \\ %{})

View Source
@spec change_user(Plug.Conn.t(), map()) :: map()

Creates a changeset from the current authenticated user.

@spec create(Plug.Conn.t(), map()) :: Plug.Conn.t()

Call create/3 for the Pow plug set for the conn.

Link to this function

create(conn, user, config)

View Source
@spec create(Plug.Conn.t(), map(), Pow.Config.t()) :: Plug.Conn.t()
Link to this function

create_user(conn, params)

View Source
@spec create_user(Plug.Conn.t(), map()) ::
  {:ok, map(), Plug.Conn.t()} | {:error, map(), Plug.Conn.t()}

Creates a new user.

If successful, a new session will be created.

@spec current_user(Plug.Conn.t()) :: map() | nil

Get the current user assigned to the conn.

The config is fetched from the conn. See current_user/2 for more.

Link to this function

current_user(map, config)

View Source
@spec current_user(Plug.Conn.t(), Pow.Config.t()) :: map() | nil

Get the current user assigned to the conn.

This will fetch the user from the assigns map in the conn. The key is by default :current_user, but it can be overridden with :current_user_assigns_key configuration option.

@spec delete(Plug.Conn.t()) :: Plug.Conn.t()

Call delete/2 for the Pow plug set for the conn.

@spec delete(Plug.Conn.t(), Pow.Config.t()) :: Plug.Conn.t()
@spec delete_user(Plug.Conn.t()) ::
  {:ok, map(), Plug.Conn.t()} | {:error, map(), Plug.Conn.t()}

Deletes the current authenticated user.

If successful, the user authentication will be cleared from the session.

@spec fetch_config(Plug.Conn.t()) :: Pow.Config.t()

Fetch configuration from the private key in the connection.

It'll raise an error if configuration hasn't been set as a private key.

@spec get_plug(Pow.Config.t()) :: atom()
Link to this function

prepend_with_namespace(config, string)

View Source
@spec prepend_with_namespace(Pow.Config.t(), binary()) :: binary()

Prepend namespace found in Plug Pow configuration to binary.

Will prepend :otp_app if exists in configuration.

Link to this function

put_config(conn, config)

View Source
@spec put_config(Plug.Conn.t(), Pow.Config.t()) :: Plug.Conn.t()

Put the provided config as a private key in the connection.

Link to this function

sign_token(conn, salt, token, config \\ nil)

View Source
@spec sign_token(Plug.Conn.t(), binary(), binary(), Pow.Config.t() | nil) :: binary()

Signs a token for public consumption.

Used to prevent timing attacks with token lookup.

This uses Pow.Plug.MessageVerifier by default, but can be changed if the Pow configuration is set with :message_verifier. Pow.Plug.MessageVerifier can also be configured in this way if :message_verifier is set to {Pow.Plug.MessageVerifier, key_generator_opts: [length: 64]}

Link to this function

update_user(conn, params)

View Source
@spec update_user(Plug.Conn.t(), map()) ::
  {:ok, map(), Plug.Conn.t()} | {:error, map(), Plug.Conn.t()}

Updates the current authenticated user.

If successful, a new session will be created.

Link to this function

verify_token(conn, salt, token, config \\ nil)

View Source
@spec verify_token(Plug.Conn.t(), binary(), binary(), Pow.Config.t() | nil) ::
  {:ok, binary()} | :error

Decodes and verifies a token.

Used to prevent timing attacks with token lookup.

This uses Pow.Plug.MessageVerifier by default, but can be changed if the Pow configuration is set with :message_verifier. Pow.Plug.MessageVerifier can also be configured in this way if :message_verifier is set to {Pow.Plug.MessageVerifier, key_generator_opts: [length: 64]}