Current section
Files
Jump to
Current section
Files
lib/plug/ensure_authenticated.ex
defmodule KeenAuth.Plug.EnsureAuthenticated do
@moduledoc """
Checks whether connection contains any claims in private or connection's session
Redirects to login page otherwise
"""
require Logger
alias KeenAuth.Request
alias Plug.Conn
def init(params) do
%{client: Keyword.fetch!(params, :client)}
end
def call(conn, %{client: client}) do
if Request.has_claims?(conn, client) do
conn
else
Logger.debug("[EnsureAuthenticated] No claims in conn, setting 401 resp")
Conn.put_status(conn, 401)
end
end
end