legendary-doc-site/apps/content/lib/content_web/plugs/require_auth.ex
2020-07-22 19:22:44 +00:00

22 lines
423 B
Elixir

defmodule Content.RequireAuth do
@moduledoc """
A plug that returns 403 unauthorized if the user is not authenticated. Used
to block out logged-in-only routes.
"""
import Plug.Conn
def init(opts) do
opts
end
def call(conn, _) do
case conn.assigns[:current_user] do
nil ->
conn
|> send_resp(403, "Unauthorized")
|> halt()
_user ->
conn
end
end
end