Implement Session Persistence: 'Keep me logged in' now works by toggling between localStorage and sessionStorage based on user choice
This commit is contained in:
@ -3,4 +3,28 @@ import { createClient } from '@supabase/supabase-js'
|
||||
export const SUPABASE_URL = 'https://bjgixlugjzsccazdfmph.supabase.co'
|
||||
export const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImJqZ2l4bHVnanpzY2NhemRmbXBoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzIwNjQyMTAsImV4cCI6MjA4NzY0MDIxMH0.untLQoPi4yUr3cPnxo23wYSlg6xnNK0daKu9UHmFTp8'
|
||||
|
||||
export const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY)
|
||||
// SIBU | Hybrid Storage: Maneja persistencia según la voluntad del usuario
|
||||
const authStorage = {
|
||||
getItem: (key: string) => localStorage.getItem(key) || sessionStorage.getItem(key),
|
||||
setItem: (key: string, val: string) => {
|
||||
// Si ya existe en sessionStorage, seguimos guardando allí (no persistente)
|
||||
if (sessionStorage.getItem(key)) {
|
||||
sessionStorage.setItem(key, val)
|
||||
} else {
|
||||
// Por defecto guardamos en localStorage (persistente)
|
||||
localStorage.setItem(key, val)
|
||||
}
|
||||
},
|
||||
removeItem: (key: string) => {
|
||||
localStorage.removeItem(key)
|
||||
sessionStorage.removeItem(key)
|
||||
}
|
||||
}
|
||||
|
||||
export const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
|
||||
auth: {
|
||||
storage: authStorage as any,
|
||||
autoRefreshToken: true,
|
||||
persistSession: true
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user