spc-pleroma/lib/pleroma/plugs/session_authentication_plug.ex

19 lines
379 B
Elixir
Raw Normal View History

2018-09-05 16:37:02 +00:00
defmodule Pleroma.Plugs.SessionAuthenticationPlug do
import Plug.Conn
alias Pleroma.User
def init(options) do
options
end
def call(conn, _) do
with saved_user_id <- get_session(conn, :user_id),
%{auth_user: %{id: ^saved_user_id}} <- conn.assigns do
conn
|> assign(:user, conn.assigns.auth_user)
else
_ -> conn
end
end
end