mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
feat(studio): consolidate settings phase 2 (#37612)
* new slugs * remove symlinks * rabbit
This commit is contained in:
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
|
||||
|
||||
+1
-1
@@ -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:**
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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: [
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user