Fold RequireLogin plug into Auth module

This commit is contained in:
Claudio Ortolina
2024-12-22 16:08:40 +00:00
parent 341d276db5
commit cf3761ca79
5 changed files with 36 additions and 52 deletions
+15
View File
@@ -1,4 +1,8 @@
defmodule MusicLibraryWeb.Auth do
use Gettext, backend: MusicLibraryWeb.Gettext
import Plug.Conn
import Phoenix.Controller, only: [put_flash: 3, redirect: 2]
def correct_login_password?(password) do
Plug.Crypto.secure_compare(correct_login_password(), password)
end
@@ -7,4 +11,15 @@ defmodule MusicLibraryWeb.Auth do
Application.get_env(:music_library, MusicLibraryWeb)
|> Keyword.fetch!(:login_password)
end
def require_logged_in(conn, _opts) do
if get_session(conn, :logged_in) do
conn
else
conn
|> put_flash(:error, gettext("You must be logged in to access this page"))
|> redirect(to: "/login")
|> halt()
end
end
end