Current section
Files
Jump to
Current section
Files
priv/templates/passport.install/session_controller.ex
defmodule <%= base %>.SessionController do
use <%= base %>.Web, :controller
alias <%= module %>
alias Passport.Session
def new(conn, _) do
conn
|> render(:new)
end
def create(conn, %{"session" => %{"email" => email, "password" => pass}}) do
case Session.login(conn, email, pass) do
{:ok, conn} ->
conn
|> put_flash(:info, "Welcome back!")
|> redirect(to: page_path(conn, :index))
{:error, _reason, conn} ->
conn
|> put_flash(:error, "Invalid username/password combination")
|> render(:new)
end
end
def delete(conn, _) do
conn
|> Session.logout()
|> put_flash(:info, "You have been logged out")
|> redirect(to: session_path(conn, :new))
end
end