Packages
Session management implementation for POW
Retired package: Deprecated - The package has been replaced by :yipyip_ex_auth. This package will no longer be maintained
Current section
Files
Jump to
Current section
Files
lib/pow_sessions_toolkit/session.ex
defmodule PowSessionToolkit.Session do
@moduledoc """
A session as stored in Mnesia by `PowSessionToolkit.MnesiaSessionStore`.
"""
defstruct id: nil,
user_id: nil,
refresh_token_id: nil,
created_at: nil,
refreshed_at: nil,
last_known_ip: nil,
token_signature_transport: nil,
expires_at: nil
use PowSessionToolkit.Constants
@type t :: %__MODULE__{
id: String.t(),
user_id: pos_integer,
refresh_token_id: String.t(),
created_at: integer,
refreshed_at: integer,
last_known_ip: String.t(),
token_signature_transport: atom,
expires_at: integer | nil
}
@doc """
Gets a `%#{__MODULE__}{}` from a conn's `private` map.
"""
@spec get_from_conn(Plug.Conn.t()) :: t() | nil
def get_from_conn(conn) do
conn.private[@private_session_key]
end
end