make sure bbpassword is still in session otherwise relogin

This commit is contained in:
2024-06-03 20:39:12 +02:00
parent 1829ea4c8a
commit c29ae7f3e4

View File

@ -12,6 +12,7 @@ defmodule SomethingErlangWeb.UserAuth do
@max_age 60 * 60 * 24 * 60
@remember_me_cookie "_something_erlang_web_user_remember_me"
@remember_me_options [sign: true, max_age: @max_age, same_site: "Lax"]
@bbpassword_options [sign: false, max_age: @max_age, same_site: "Lax"]
@doc """
Logs the user in.
@ -38,7 +39,7 @@ defmodule SomethingErlangWeb.UserAuth do
end
defp put_hashcookie_in_session(conn, bbpassword) do
put_resp_cookie(conn, "bbpassword", bbpassword)
put_resp_cookie(conn, "bbpassword", bbpassword, @bbpassword_options)
end
defp maybe_write_remember_me_cookie(conn, token, %{"remember_me" => "true"}) do
@ -185,7 +186,7 @@ defmodule SomethingErlangWeb.UserAuth do
defp mount_current_user(session, socket) do
case session do
%{"user_token" => user_token} ->
%{"user_token" => user_token, "bbpassword" => bbpw} when not is_nil(bbpw) ->
Phoenix.Component.assign_new(socket, :current_user, fn ->
Accounts.get_user_by_session_token(user_token)
end)