Extract MusicLibraryWeb.Auth module
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
defmodule MusicLibraryWeb.Auth do
|
||||||
|
def correct_login_password?(password) do
|
||||||
|
Plug.Crypto.secure_compare(correct_password(), password)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp correct_password do
|
||||||
|
Application.get_env(:music_library, MusicLibraryWeb)
|
||||||
|
|> Keyword.fetch!(:auth_password)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
defmodule MusicLibraryWeb.SessionController do
|
defmodule MusicLibraryWeb.SessionController do
|
||||||
use MusicLibraryWeb, :controller
|
use MusicLibraryWeb, :controller
|
||||||
|
|
||||||
|
alias MusicLibraryWeb.Auth
|
||||||
|
|
||||||
@empty_form %{"password" => ""}
|
@empty_form %{"password" => ""}
|
||||||
|
|
||||||
def new(conn, _params) do
|
def new(conn, _params) do
|
||||||
@@ -14,7 +16,7 @@ defmodule MusicLibraryWeb.SessionController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def create(conn, %{"password" => request_password}) do
|
def create(conn, %{"password" => request_password}) do
|
||||||
if Plug.Crypto.secure_compare(password(), request_password) do
|
if Auth.correct_login_password?(request_password) do
|
||||||
conn
|
conn
|
||||||
|> put_session(:logged_in, true)
|
|> put_session(:logged_in, true)
|
||||||
|> redirect(to: ~p"/")
|
|> redirect(to: ~p"/")
|
||||||
@@ -24,9 +26,4 @@ defmodule MusicLibraryWeb.SessionController do
|
|||||||
|> redirect(to: ~p"/login")
|
|> redirect(to: ~p"/login")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def password do
|
|
||||||
Application.get_env(:music_library, MusicLibraryWeb)
|
|
||||||
|> Keyword.fetch!(:auth_password)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user