auth via somethingawful cookie

This commit is contained in:
2024-03-29 15:54:42 +01:00
parent b26434b795
commit c111723740
21 changed files with 408 additions and 1134 deletions

View File

@ -31,11 +31,16 @@ defmodule SomethingErlangWeb.UserAuth do
conn
|> renew_session()
|> put_hashcookie_in_session(user.bbpassword)
|> put_token_in_session(token)
|> maybe_write_remember_me_cookie(token, params)
|> redirect(to: user_return_to || signed_in_path(conn))
end
defp put_hashcookie_in_session(conn, bbpassword) do
put_resp_cookie(conn, "bbpassword", bbpassword)
end
defp maybe_write_remember_me_cookie(conn, token, %{"remember_me" => "true"}) do
put_resp_cookie(conn, @remember_me_cookie, token, @remember_me_options)
end
@ -84,6 +89,11 @@ defmodule SomethingErlangWeb.UserAuth do
|> redirect(to: "/")
end
def load_bbcookie(conn, _opts) do
conn
|> put_session(:bbpassword, conn.cookies["bbpassword"])
end
@doc """
Authenticates the user by looking into the session
and remember me token.
@ -91,6 +101,7 @@ defmodule SomethingErlangWeb.UserAuth do
def fetch_current_user(conn, _opts) do
{user_token, conn} = ensure_user_token(conn)
user = user_token && Accounts.get_user_by_session_token(user_token)
assign(conn, :current_user, user)
end