JavaScript: Create a new user (original) (raw)
- Introduction
- Installing
- Initializing
- TypeScript support
- Database
- Fetch data
- Insert data
- Update data
- Upsert data
- Delete data
- Call a Postgres function
- Using filters
- Column is equal to a value
- Column is not equal to a value
- Column is greater than a value
- Column is greater than or equal to a value
- Column is less than a value
- Column is less than or equal to a value
- Column matches a pattern
- Column matches a case-insensitive pattern
- Column is a value
- Column is in an array
- Column contains every element in a value
- Contained by value
- Greater than a range
- Greater than or equal to a range
- Less than a range
- Less than or equal to a range
- Mutually exclusive to a range
- With a common element
- Match a string
- Match an associated value
- Don't match the filter
- Match at least one filter
- Match the filter
- Using modifiers
- Return data after inserting
- Order the results
- Limit the number of rows returned
- Limit the query to a range
- Set an abort signal
- Retrieve one row of data
- Retrieve zero or one row of data
- Retrieve as a CSV
- Override type of successful response
- Partially override or replace type of successful response
- Using explain
- Auth
- Overview
- Create a new user
- Listen to auth events
- Create an anonymous user
- Sign in a user
- Sign in with ID token (native sign-in)
- Sign in a user through OTP
- Sign in a user through OAuth
- Sign in a user through SSO
- Sign in a user through Web3 (Solana, Ethereum)
- Get user claims from verified JWT
- Sign out a user
- Send a password reset request
- Verify and log in through OTP
- Retrieve a session
- Retrieve a new session
- Retrieve a user
- Update a user
- Retrieve identities linked to a user
- Link an identity to a user
- Unlink an identity from a user
- Send a password reauthentication nonce
- Resend an OTP
- Set the session data
- Exchange an auth code for a session
- Start auto-refresh session (non-browser)
- Stop auto-refresh session (non-browser)
- Initialize client session
- Auth MFA
- Enroll a factor
- Create a challenge
- Verify a challenge
- Create and verify a challenge
- Unenroll a factor
- Get Authenticator Assurance Level
- List all factors for current user
- OAuth Server
- Get authorization details
- Approve authorization
- Deny authorization
- List grants
- Revoke grant
- Auth Admin
- Retrieve a user
- List all users
- Create a user
- Delete a user
- Send an email invite link
- Generate an email link
- Update a user
- Sign out a user (admin)
- Delete a factor for a user
- List all factors for a user (admin)
- OAuth Admin
- List OAuth clients
- Get OAuth client
- Create OAuth client
- Update OAuth client
- Delete OAuth client
- Regenerate client secret
- Edge Functions
- Invokes a Supabase Edge Function.
- Realtime
- Subscribe to channel
- Unsubscribe from a channel
- Unsubscribe from all channels
- Retrieve all channels
- Broadcast a message
- Storage
- File Buckets
- Access a storage bucket
- List all buckets
- Retrieve a bucket
- Create a bucket
- Empty a bucket
- Update a bucket
- Delete a bucket
- Upload a file
- Replace an existing file
- Move an existing file
- Copy an existing file
- Create a signed URL
- Create signed URLs
- Create signed upload URL
- Upload to a signed URL
- Retrieve public URL
- Download a file
- Delete files in a bucket
- List all files in a bucket
- Check if file exists
- Get file metadata
- List files (v2)
- Convert file to base64
- Analytics Buckets
- Access an analytics bucket
- Create a new analytics bucket
- List analytics buckets
- Delete an analytics bucket
- Vector Buckets
- Access a vector bucket
- Create a vector bucket
- Delete a vector bucket
- Retrieve a vector bucket
- List all vector buckets
- Create a vector index
- Delete a vector index
- Retrieve a vector index
- List all vector indexes
- Access a vector index
- Delete vectors from index
- Retrieve vectors from index
- List vectors in index
- Add vectors to index
- Search vectors in index
Creates a new user.
Be aware that if a user account exists in the system you may get back an error message that attempts to hide this information from the user. This method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled.
- By default, the user needs to verify their email address before logging in. To turn this off, disable Confirm email in your project.
- Confirm email determines if users need to confirm their email address after signing up.
- If Confirm email is enabled, a
useris returned butsessionis null. - If Confirm email is disabled, both a
userand asessionare returned.
- If Confirm email is enabled, a
- When the user confirms their email address, they are redirected to the SITE_URL by default. You can modify your
SITE_URLor add additional redirect URLs in your project. - If signUp() is called for an existing confirmed user:
- When both Confirm email and Confirm phone (even when phone provider is disabled) are enabled in your project, an obfuscated/fake user object is returned.
- When either Confirm email or Confirm phone (even when phone provider is disabled) is disabled, the error message,
User already registeredis returned.
- To fetch the currently logged-in user, refer to getUser().
Parameters
credentials
(Required)
Examples
Sign up with an email and password
const { data, error } = await supabase.auth.signUp({
email: 'example@email.com',
password: 'example-password',
})
Sign up with a phone number and password (SMS)
const { data, error } = await supabase.auth.signUp({
phone: '123456789',
password: 'example-password',
options: {
channel: 'sms'
}
})
Sign up with a phone number and password (whatsapp)
const { data, error } = await supabase.auth.signUp({
phone: '123456789',
password: 'example-password',
options: {
channel: 'whatsapp'
}
})
Sign up with additional user metadata
const { data, error } = await supabase.auth.signUp(
{
email: 'example@email.com',
password: 'example-password',
options: {
data: {
first_name: 'John',
age: 27,
}
}
}
)
Sign up with a redirect URL
const { data, error } = await supabase.auth.signUp(
{
email: 'example@email.com',
password: 'example-password',
options: {
emailRedirectTo: 'https://example.com/welcome'
}
}
)