From 98087ae5680192d555bdb3be433b1fe6e478c876 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 21 Dec 2024 14:48:32 +0000 Subject: [PATCH] Extract MusicLibraryWeb.Auth module --- lib/music_library_web/auth.ex | 10 ++++++++++ .../controllers/session_controller.ex | 9 +++------ 2 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 lib/music_library_web/auth.ex diff --git a/lib/music_library_web/auth.ex b/lib/music_library_web/auth.ex new file mode 100644 index 00000000..e8363b60 --- /dev/null +++ b/lib/music_library_web/auth.ex @@ -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 diff --git a/lib/music_library_web/controllers/session_controller.ex b/lib/music_library_web/controllers/session_controller.ex index 13edb760..a94892da 100644 --- a/lib/music_library_web/controllers/session_controller.ex +++ b/lib/music_library_web/controllers/session_controller.ex @@ -1,6 +1,8 @@ defmodule MusicLibraryWeb.SessionController do use MusicLibraryWeb, :controller + alias MusicLibraryWeb.Auth + @empty_form %{"password" => ""} def new(conn, _params) do @@ -14,7 +16,7 @@ defmodule MusicLibraryWeb.SessionController do end 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 |> put_session(:logged_in, true) |> redirect(to: ~p"/") @@ -24,9 +26,4 @@ defmodule MusicLibraryWeb.SessionController do |> redirect(to: ~p"/login") end end - - def password do - Application.get_env(:music_library, MusicLibraryWeb) - |> Keyword.fetch!(:auth_password) - end end