Packages

Integration with the Auth API from Supabase services. Provide authentication with MFA, password and magic link.

Current section

Files

Jump to
supabase_auth priv templates supabase.gen.auth conn_case.exs
Raw

priv/templates/supabase.gen.auth/conn_case.exs

@doc """
Setup helper that registers and logs in users.
setup :register_and_log_in_user
It stores an updated connection and a registered user in the
test context.
"""
def register_and_log_in_user(%{conn: conn}) do
user = %Supabase.Auth.User{id: Ecto.UUID.generate(), email: "user@example.com"}
session = %Supabase.Auth.Session{access_token: "123"}
%{conn: log_in_user(conn, session), user: user, session: session}
end
def log_in_user(conn, session) do
token = session.access_token
conn
|> Phoenix.ConnTest.init_test_session(%{})
|> Plug.Conn.put_session(:user_token, token)
|> Plug.Conn.put_session(:live_socket_id, "users_sessions:#{Base.url_encode64(token)}")
|> Phoenix.ConnTest.put_req_cookie("_<%= web_app_name %>_user_remember_me", token)
|> <%= auth_module %>.fetch_current_user([])
end