Packages

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

Retired package: Renamed - this package was renamed to supabase_gotrue

Current section

Files

Jump to
supabase_auth lib supabase go_true endpoints.ex
Raw

lib/supabase/go_true/endpoints.ex

defmodule Supabase.GoTrue.Endpoints do
alias Supabase.Client
@grant_types ~w[password]
def sign_in(%Client{} = client, grant_type) when grant_type in @grant_types do
query = URI.encode_query(%{grant_type: grant_type})
Client.retrieve_auth_url(client, "/token?" <> query)
end
def sign_up(%Client{} = client) do
Client.retrieve_auth_url(client, "/signup")
end
def user(%Client{} = client) do
Client.retrieve_auth_url(client, "/user")
end
def sign_out(%Client{} = client, scope) do
query = URI.encode_query(%{scope: scope})
Client.retrieve_auth_url(client, "/logout?" <> query)
end
def invite(%Client{} = client) do
Client.retrieve_auth_url(client, "/invite")
end
def generate_link(%Client{} = client) do
Client.retrieve_auth_url(client, "/admin/generate_link")
end
def create_user(%Client{} = client) do
Client.retrieve_auth_url(client, "/admin/users")
end
def delete_user(%Client{} = client, id) do
Client.retrieve_auth_url(client, "/admin/users/#{id}")
end
def list_users(%Client{} = client) do
Client.retrieve_auth_url(client, "/admin/users")
end
end