feat(studio): consolidate settings phase 2 (#37612)

* new slugs

* remove symlinks

* rabbit
This commit is contained in:
Danny White authored and GitHub committed 2026-01-26 15:41:05 +08:00
1 parent ff1c78eee4
commit 19cf4bb4bf
16 files changed
+28 -76

No files matched your search

@@ -20,7 +20,7 @@ This section covers the [general configuration options](/dashboard/project/_/aut
- [Audit Logs (BETA)](/dashboard/project/_/auth/audit-logs) to track and monitor auth events in your project.
- [Performance](/dashboard/project/_/auth/performance) to configure and optimize authentication server settings.
Supabase Auth provides these [general configuration options](/dashboard/project/_/settings/auth) to control user access to your application:
Supabase Auth provides these [general configuration options](/dashboard/project/_/auth/providers) to control user access to your application:
- **Allow new users to sign up**: Users will be able to sign up. If this config is disabled, only existing users can sign in.
@@ -79,7 +79,7 @@ supabase functions deploy resend --no-verify-jwt
<Admonition type="caution">
When you deploy to Supabase, make sure that your `RESEND_API_KEY` is set in [Edge Function Secrets Management](/dashboard/project/_/settings/functions)
When you deploy to Supabase, make sure that your `RESEND_API_KEY` is set in [Edge Function Secrets Management](/dashboard/project/_/functions/secrets)
</Admonition>
@@ -95,7 +95,7 @@ You will also need to set secrets for your production Edge Functions. You can do
**Using the Dashboard**:
1. Visit [Edge Function Secrets Management](/dashboard/project/_/settings/functions) page in your Dashboard.
1. Visit [Edge Function Secrets Management](/dashboard/project/_/functions/secrets) page in your Dashboard.
2. Add the Key and Value for your secret and press Save
<Image
@@ -14,7 +14,7 @@ This typically indicates an authentication failure where the database connection
1. **Check Network Bans:**
- Navigate to your project's [Database Settings](/dashboard/project/_/settings/database) page.
- Navigate to your project's [Database Settings](/dashboard/project/_/database/settings) page.
- Review any listed IP addresses that are blocked. Remove any entries that correspond to your current connection and then try the CLI action again.
2. **Use the old Password-Based authentication flow instead:**
+3 -3
View File
@@ -1289,7 +1289,7 @@ functions:
description: |
Links an oauth identity to an existing user. This method supports the PKCE flow.
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentity()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentity()` will fail.
params:
@@ -1331,7 +1331,7 @@ functions:
type: UserIdentity
description: The user identity to unlink.
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlinkIdentity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
@@ -1357,7 +1357,7 @@ functions:
description: |
Links an identity to an existing user using an ID token obtained from a third-party OAuth provider. This allows linking identities using native OAuth flows (Google, Apple, Facebook, etc.) similar to `signInWithIdToken()` but for linking rather than signing in.
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentityWithIdToken()`.
- Supports the same OAuth providers as `signInWithIdToken()`: Google, Apple, Facebook, Kakao, and Keycloak.
- If the candidate identity is already linked to another user, the operation will fail.
+3 -3
View File
@@ -206,7 +206,7 @@ functions:
This warning message can be safely ignored if you're not using auth on the server-side. If you are using auth and you want to set `persistSession` to true, you will need to provide a custom storage implementation that follows [this interface](https://github.com/supabase/supabase-js/blob/master/packages/core/auth-js/src/lib/types.ts#L1053).
- Any email links and one-time passwords (OTPs) sent have a default expiry of 24 hours. We have the following [rate limits](/docs/guides/platform/going-into-prod#auth-rate-limits) in place to guard against brute force attacks.
- The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/dashboard/project/_/settings/auth). A refresh token never expires and can only be used once.
- The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/dashboard/project/_/auth/providers). A refresh token never expires and can only be used once.
examples:
- id: create-auth-client
@@ -1720,7 +1720,7 @@ functions:
title: 'linkIdentity()'
$ref: '@supabase/auth-js.GoTrueClient.linkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentity()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentity()` will fail.
- If `linkIdentity` is run in the browser, the user is automatically redirected to the returned URL. On the server, you should handle the redirect.
@@ -1748,7 +1748,7 @@ functions:
title: 'unlinkIdentity()'
$ref: '@supabase/auth-js.GoTrueClient.unlinkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlinkIdentity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
+2 -2
View File
@@ -3530,7 +3530,7 @@ functions:
title: 'linkIdentity()'
$ref: '@supabase/gotrue-js.GoTrueClient.linkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentity()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentity()` will fail.
- This method works similarly to `signInWith()` using an OAuthProvider. To learn how to handle OTP links & OAuth refer to [initializing](/docs/reference/kotlin/initializing)
@@ -3571,7 +3571,7 @@ functions:
title: 'unlinkIdentity()'
$ref: '@supabase/gotrue-js.GoTrueClient.unlinkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlinkIdentity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
+2 -2
View File
@@ -3597,7 +3597,7 @@ functions:
title: 'linkIdentity()'
$ref: '@supabase/gotrue-js.GoTrueClient.linkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentity()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentity()` will fail.
- This method works similarly to `signInWith()` using an OAuthProvider. To learn how to handle OTP links & OAuth refer to [initializing](/docs/reference/kotlin/initializing)
@@ -3638,7 +3638,7 @@ functions:
title: 'unlinkIdentity()'
$ref: '@supabase/gotrue-js.GoTrueClient.unlinkIdentity'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlinkIdentity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
+3 -3
View File
@@ -113,7 +113,7 @@ functions:
- The auth methods can be accessed via the `supabase.auth` namespace.
- By default, the supabase client sets `persist_session` to true and attempts to store the session in memory.
- Any email links and one-time passwords (OTPs) sent have a default expiry of 24 hours. We have the following [rate limits](/docs/guides/platform/going-into-prod#auth-rate-limits) in place to guard against brute force attacks.
- The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/dashboard/project/_/settings/auth). A refresh token never expires and can only be used once.
- The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/dashboard/project/_/settings/jwt/legacy). A refresh token never expires and can only be used once.
- id: sign-up
title: 'sign_up()'
params:
@@ -1487,7 +1487,7 @@ functions:
type: string
description: An object of query params
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `link_identity()`.
- If the candidate identity is already linked to the existing user or another user, `link_identity()` will fail.
- If `link_identity` is run on the server, you should handle the redirect.
@@ -1540,7 +1540,7 @@ functions:
isOptional: true
type: string
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlink_identity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
+3 -3
View File
@@ -906,7 +906,7 @@ functions:
- id: link-identity
title: 'linkIdentity()'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentity()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentity()` will fail.
examples:
@@ -934,7 +934,7 @@ functions:
- id: link-identity-with-id-token
title: 'linkIdentityWithIdToken()'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `linkIdentityWithIdToken()`.
- If the candidate identity is already linked to the existing user or another user, `linkIdentityWithIdToken()` will fail.
- This method allows you to link an OIDC identity using an ID token obtained from a provider like Apple, Google, etc.
@@ -970,7 +970,7 @@ functions:
- id: unlink-identity
title: 'unlinkIdentity()'
notes: |
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/settings/auth).
- The **Enable Manual Linking** option must be enabled from your [project's authentication settings](/dashboard/project/_/auth/providers).
- The user needs to be signed in to call `unlinkIdentity()`.
- The user must have at least 2 identities in order to unlink an identity.
- The identity to be unlinked must belong to the user.
@@ -118,54 +118,6 @@ export const generateSettingsMenu = (
},
],
},
{
title: 'Configuration',
items: [
{
name: 'Database',
key: 'database',
url: isProjectBuilding ? buildingUrl : `/project/${ref}/database/settings`,
items: [],
rightIcon: <ArrowUpRight strokeWidth={1} className="h-4 w-4" />,
},
...(authEnabled
? [
{
name: 'Authentication',
key: 'auth',
url: authProvidersEnabled
? `/project/${ref}/auth/providers`
: `/project/${ref}/auth/policies`,
items: [],
rightIcon: <ArrowUpRight strokeWidth={1} className="h-4 w-4" />,
},
]
: []),
...(storageEnabled
? [
{
name: 'Storage',
key: 'storage',
url: `/project/${ref}/storage/settings`,
items: [],
rightIcon: <ArrowUpRight strokeWidth={1} className="h-4 w-4" />,
},
]
: []),
...(edgeFunctionsEnabled
? [
{
name: 'Edge Functions',
key: 'functions',
url: `/project/${ref}/functions/secrets`,
items: [],
rightIcon: <ArrowUpRight strokeWidth={1} className="h-4 w-4" />,
},
]
: []),
],
},
{
title: 'Billing',
items: [
+2 -2
View File
@@ -436,8 +436,8 @@ const nextConfig = {
},
{
source: '/project/:ref/settings/auth',
destination: '/project/:ref/auth',
permanent: false,
destination: '/project/:ref/auth/providers',
permanent: true,
},
...(process.env.NEXT_PUBLIC_BASE_PATH?.length
@@ -78,7 +78,7 @@ Added HNSW support inside Vecs, our Python library for `pgvector`. Vecs automati
- [PostgREST] JWT caching just landed. API requests are about to get 100ms faster. [[PR](https://github.com/PostgREST/postgrest/pull/2928)]
- [Auth] Added a default in-memory storage mechanism to allow using `supabase-js` in these environments to fall back to use this default storage mechanism now. Upgrade to supabase-js v2.36.0 or gotrue-js v2.54.0 for the latest changes. [[PR](https://github.com/supabase/gotrue-js/pull/774)]
- [Edge Functions] Supports much simpler API for creating functions `Deno.serve(req => new Response("ok"))`. No `http` standard library dependency needed. (Thanks eifr for contributing with updated CLI templates. [[PR](https://github.com/supabase/cli/pull/1504)]
- [Edge Functions] You can manage the secrets for your project's Edge Functions via the dashboard. [[Try it now](https://supabase.com/dashboard/project/_/settings/functions)]
- [Edge Functions] You can manage the secrets for your project's Edge Functions via the dashboard. [[Try it now](https://supabase.com/dashboard/project/_/functions/secrets)]
## Supabase at the AI Engineer Summit
@@ -62,7 +62,7 @@ const { data, error } = await supabase.auth.unlinkIdentity(googleIdentity)
Currently, these methods support linking an OAuth identity. To link an email or phone identity to the user, you can use the [`updateUser()`](/docs/reference/javascript/auth-updateuser)method.
Manual linking is disabled by default. You can enable it for your project in [the dashboard Auth settings](/dashboard/project/_/settings/auth).
Manual linking is disabled by default. You can enable it for your project in [the dashboard Auth settings](/dashboard/project/_/auth/providers).
<Img
alt="How to enable manual linking"
@@ -124,7 +124,7 @@ Even though OAuth and magiclinks are more secure, we recognize passwords are her
</Admonition>
As an additional step, we have added the ability to specify password requirements for your users. This can be configured from your project’s Auth settings in [the dashboard](/dashboard/project/_/settings/auth):
As an additional step, we have added the ability to specify password requirements for your users. This can be configured from your project’s Auth settings in [the dashboard](/dashboard/project/_/auth/providers):
<Img
alt="Adding password requirements"
@@ -30,7 +30,7 @@ Anonymous sign-ins can be used to create **temporary users** who haven’t signe
## Enabling Anonymous sign-ins
You can [enable anonymous sign-ins](/dashboard/project/_/settings/auth) for your project today from the dashboard:
You can [enable anonymous sign-ins](/dashboard/project/_/auth/providers) for your project today from the dashboard:
<Img
alt="Allow anonymous sign ins"
@@ -157,7 +157,7 @@ const { data, error } = await supabase
### Link an OAuth identity
To link an OAuth identity to an anonymous user, you need to [enable manual linking](/dashboard/project/_/settings/auth) for your project. Learn about how [identity linking](/docs/guides/auth/auth-identity-linking) works with Supabase Auth.
To link an OAuth identity to an anonymous user, you need to [enable manual linking](/dashboard/project/_/auth/providers) for your project. Learn about how [identity linking](/docs/guides/auth/auth-identity-linking) works with Supabase Auth.
<Img
alt="Allow anonymous sign ins"
+1 -1
View File
@@ -34,7 +34,7 @@ for select to authenticated
using (true);
```
- [Enable anonymous sign-ins](https://supabase.com/dashboard/project/_/settings/auth) in the Auth settings.
- [Enable anonymous sign-ins](https://supabase.com/dashboard/project/_/auth/providers) in the Auth settings.
## Setup