-
-
Save shankardevy/e7d0bde21d9acb85e2dd17ef8ffd1abc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule MangoWeb.Admin.SessionController do | |
use MangoWeb, :controller | |
plug :set_layout | |
alias Mango.Administration | |
def new(conn, _params) do | |
conn | |
|> render("new.html") | |
end | |
def send_link(conn, %{"session" => %{"email" => email}}) do | |
user = Administration.get_admin_by_email(email) | |
conn = case user do | |
nil -> | |
conn | |
|> put_flash(:error, "Authentication error") | |
user -> | |
link = generate_login_link(conn, user) | |
conn | |
|> put_flash(:info, "You magic login link is #{link}") | |
end | |
conn |> render("new.html") | |
end | |
defp generate_login_link(conn, user) do | |
token = Phoenix.Token.sign(MangoWeb.Endpoint, "user", user.id) | |
admin_session_url(conn, :create, %{token: token}) | |
end | |
defp set_layout(conn, _) do | |
conn | |
|> put_layout("admin_login.html") | |
end | |
end |
Nevermind... this is only an issue when working with Phoenix 1.4. For anyone else that ran into this problem, you'll need to use "Routes.admin_session_url(conn, :create, %{token: token})"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Where is the "admin_session_url" on line 28 coming from?