Packages

Flexible, lightweight and productive authentication for Plug, Phoenix and Ecto projects

Current section

Files

Jump to
entrance priv templates gen phx_modules session_controller.eex
Raw

priv/templates/gen/phx_modules/session_controller.eex

defmodule <%= @context[:web_module] %>.<%= @context[:scoped] %> do
use <%= @context[:web_module] %>, :controller
import Entrance.Login.Session, only: [login: 2, logout: 1]
def new(conn, _params) do
render(conn, "new.html")
end
def create(conn, %{"session" => %{"email" => email, "password" => password}}) do
if user = Entrance.auth(email, password) do
conn
|> login(user)
|> put_flash(:notice, "Successfully logged in")
|> redirect(to: "/")
else
conn
|> put_flash(:error, "No user found with the provided credentials")
|> render("new.html")
end
end
def delete(conn, _params) do
conn
|> logout
|> put_flash(:notice, "Successfully logged out")
|> redirect(to: "/")
end
end