proxMon/server/lib/server_web/controllers/auth_controller.ex

28 lines
668 B
Elixir

defmodule ServerWeb.AuthController do
use ServerWeb, :controller
def login(conn, _params) do
render(conn, :login, error: nil, layout: false)
end
def create(conn, %{"password" => password}) do
case Server.Auth.verify_password(password) do
:ok ->
conn
|> configure_session(renew: true)
|> put_session(:authenticated, true)
|> redirect(to: "/")
:error ->
conn
|> put_status(:unauthorized)
|> render(:login, error: "Incorrect password.", layout: false)
end
end
def delete(conn, _params) do
conn
|> configure_session(drop: true)
|> redirect(to: "/login")
end
end