mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
docs: Examples Key changes (#45170)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated examples and guides to use Supabase publishable (client) keys instead of anon keys for client-side usage across frameworks and platforms. * Renamed environment variable examples and .env templates to reflect publishable key naming. * Adjusted sample requests and client-init examples to send/use the publishable key via the apikey header where applicable. * Updated references from service_role to secret for server-side credential guidance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: fadymak <fady@fadymak.com>
This commit is contained in:
87 files changed
+187
-159
No files matched your search
@@ -1,5 +1,5 @@
|
||||
EXPO_PUBLIC_SUPABASE_URL=""
|
||||
EXPO_PUBLIC_SUPABASE_ANON_KEY=""
|
||||
EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY=""
|
||||
EXPO_PUBLIC_APPLE_AUTH_SERVICE_ID=""
|
||||
EXPO_PUBLIC_APPLE_AUTH_REDIRECT_URI=""
|
||||
EXPO_PUBLIC_GOOGLE_AUTH_WEB_CLIENT_ID=""
|
||||
@@ -21,7 +21,7 @@ const ExpoSecureStoreAdapter = {
|
||||
|
||||
export const supabase = createClient(
|
||||
process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY ?? '',
|
||||
{
|
||||
auth: {
|
||||
storage: ExpoSecureStoreAdapter as any,
|
||||
|
||||
@@ -22,7 +22,7 @@ const ExpoWebSecureStoreAdapter = {
|
||||
|
||||
export const supabase = createClient(
|
||||
process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY ?? '',
|
||||
{
|
||||
auth: {
|
||||
storage: ExpoWebSecureStoreAdapter,
|
||||
|
||||
@@ -11,7 +11,7 @@ import 'package:mfa_app/pages/mfa/enroll_page.dart';
|
||||
void main() async {
|
||||
await Supabase.initialize(
|
||||
url: 'YOUR_SUPABASE_URL',
|
||||
anonKey: 'YOUR_ANON_KEY',
|
||||
publishableKey: 'YOUR_PUBLISHABLE_KEY',
|
||||
);
|
||||
runApp(const MyApp());
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ void main() async {
|
||||
/// TODO: update Supabase credentials with your own
|
||||
await Supabase.initialize(
|
||||
url: 'YOUR_SUPABASE_URL',
|
||||
anonKey: 'YOUR_ANON_KEY',
|
||||
publishableKey: 'YOUR_PUBLISHABLE_KEY',
|
||||
);
|
||||
runApp(const MyApp());
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Get your keys at https://supabase.com/dashboard/project/_/settings/api
|
||||
VITE_SUPABASE_URL=your_supabase_url
|
||||
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
|
||||
VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
|
||||
@@ -8,7 +8,7 @@ const client = hc<AppType>('/')
|
||||
|
||||
const supabase = createBrowserClient(
|
||||
import.meta.env.VITE_SUPABASE_URL!,
|
||||
import.meta.env.VITE_SUPABASE_ANON_KEY!
|
||||
import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY!
|
||||
)
|
||||
|
||||
function App() {
|
||||
|
||||
@@ -16,7 +16,7 @@ export const getSupabase = (c: Context) => {
|
||||
|
||||
type SupabaseEnv = {
|
||||
VITE_SUPABASE_URL: string
|
||||
VITE_SUPABASE_ANON_KEY: string
|
||||
VITE_SUPABASE_PUBLISHABLE_KEY: string
|
||||
}
|
||||
|
||||
export const supabaseMiddleware = (): MiddlewareHandler => {
|
||||
@@ -24,14 +24,14 @@ export const supabaseMiddleware = (): MiddlewareHandler => {
|
||||
const supabaseEnv = env<SupabaseEnv>(c)
|
||||
const supabaseUrl = supabaseEnv.VITE_SUPABASE_URL ?? import.meta.env.VITE_SUPABASE_URL
|
||||
const supabasePublishableKey =
|
||||
supabaseEnv.VITE_SUPABASE_ANON_KEY ?? import.meta.env.VITE_SUPABASE_ANON_KEY
|
||||
supabaseEnv.VITE_SUPABASE_PUBLISHABLE_KEY ?? import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY
|
||||
|
||||
if (!supabaseUrl) {
|
||||
throw new Error('SUPABASE_URL missing!')
|
||||
}
|
||||
|
||||
if (!supabasePublishableKey) {
|
||||
throw new Error('SUPABASE_ANON_KEY missing!')
|
||||
throw new Error('SUPABASE_PUBLISHABLE_KEY missing!')
|
||||
}
|
||||
|
||||
const supabase = createServerClient(supabaseUrl, supabasePublishableKey, {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Get your keys at https://supabase.com/dashboard/project/_/settings/api
|
||||
VITE_SUPABASE_URL=your_supabase_url
|
||||
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
|
||||
VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
|
||||
@@ -23,17 +23,17 @@ export const supabaseMiddleware = (): MiddlewareHandler => {
|
||||
return async (c, next) => {
|
||||
const supabaseEnv = env<SupabaseEnv>(c)
|
||||
const supabaseUrl = supabaseEnv.SUPABASE_URL
|
||||
const supabaseAnonKey = supabaseEnv.SUPABASE_PUBLISHABLE_KEY
|
||||
const supabasePublishableKey = supabaseEnv.SUPABASE_PUBLISHABLE_KEY
|
||||
|
||||
if (!supabaseUrl) {
|
||||
throw new Error('SUPABASE_URL missing!')
|
||||
}
|
||||
|
||||
if (!supabaseAnonKey) {
|
||||
if (!supabasePublishableKey) {
|
||||
throw new Error('SUPABASE_PUBLISHABLE_KEY missing!')
|
||||
}
|
||||
|
||||
const supabase = createServerClient(supabaseUrl, supabaseAnonKey, {
|
||||
const supabase = createServerClient(supabaseUrl, supabasePublishableKey, {
|
||||
cookies: {
|
||||
getAll() {
|
||||
return parseCookieHeader(c.req.header('Cookie') ?? '')
|
||||
|
||||
@@ -21,7 +21,7 @@ const ExpoSecureStoreAdapter = {
|
||||
|
||||
export const supabase = createClient(
|
||||
process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY ?? '',
|
||||
{
|
||||
auth: {
|
||||
storage: ExpoSecureStoreAdapter as any,
|
||||
|
||||
@@ -22,7 +22,7 @@ const ExpoWebSecureStoreAdapter = {
|
||||
|
||||
export const supabase = createClient(
|
||||
process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
|
||||
process.env.EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY ?? '',
|
||||
{
|
||||
auth: {
|
||||
storage: ExpoWebSecureStoreAdapter,
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
EXPO_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL
|
||||
EXPO_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
|
||||
EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY=YOUR_SUPABASE_PUBLISHABLE_KEY
|
||||
@@ -4,9 +4,9 @@ import AsyncStorage from '@react-native-async-storage/async-storage'
|
||||
import { createClient, processLock } from '@supabase/supabase-js'
|
||||
|
||||
const supabaseUrl = process.env.EXPO_PUBLIC_SUPABASE_URL!
|
||||
const supabaseAnonKey = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY!
|
||||
const supabasePublishableKey = process.env.EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY!
|
||||
|
||||
export const supabase = createClient(supabaseUrl, supabaseAnonKey, {
|
||||
export const supabase = createClient(supabaseUrl, supabasePublishableKey, {
|
||||
auth: {
|
||||
...(Platform.OS !== 'web' ? { storage: AsyncStorage } : {}),
|
||||
autoRefreshToken: true,
|
||||
|
||||
Reference in new issue
Block a user