make sure bbpassword is still in session otherwise relogin
This commit is contained in:
@ -12,6 +12,7 @@ defmodule SomethingErlangWeb.UserAuth do
|
|||||||
@max_age 60 * 60 * 24 * 60
|
@max_age 60 * 60 * 24 * 60
|
||||||
@remember_me_cookie "_something_erlang_web_user_remember_me"
|
@remember_me_cookie "_something_erlang_web_user_remember_me"
|
||||||
@remember_me_options [sign: true, max_age: @max_age, same_site: "Lax"]
|
@remember_me_options [sign: true, max_age: @max_age, same_site: "Lax"]
|
||||||
|
@bbpassword_options [sign: false, max_age: @max_age, same_site: "Lax"]
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Logs the user in.
|
Logs the user in.
|
||||||
@ -38,7 +39,7 @@ defmodule SomethingErlangWeb.UserAuth do
|
|||||||
end
|
end
|
||||||
|
|
||||||
defp put_hashcookie_in_session(conn, bbpassword) do
|
defp put_hashcookie_in_session(conn, bbpassword) do
|
||||||
put_resp_cookie(conn, "bbpassword", bbpassword)
|
put_resp_cookie(conn, "bbpassword", bbpassword, @bbpassword_options)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_write_remember_me_cookie(conn, token, %{"remember_me" => "true"}) do
|
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
|
defp mount_current_user(session, socket) do
|
||||||
case session 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 ->
|
Phoenix.Component.assign_new(socket, :current_user, fn ->
|
||||||
Accounts.get_user_by_session_token(user_token)
|
Accounts.get_user_by_session_token(user_token)
|
||||||
end)
|
end)
|
||||||
|
Reference in New Issue
Block a user