@supabase/auth-helpers-sveltekit
Advanced tools
Comparing version 0.6.7 to 0.6.8
# @supabase/auth-helpers-sveltekit | ||
## 0.6.8 | ||
### Patch Changes | ||
- 8e0b747: Change error handling to not show flow disruption errors | ||
## 0.6.7 | ||
@@ -4,0 +10,0 @@ |
@@ -68,8 +68,4 @@ import { COOKIE_OPTIONS, parseCookie, jwtDecoder, TOKEN_REFRESH_MARGIN, CookieNotParsed, JWTPayloadFailed, AuthHelperError, AccessTokenNotFound, CookieNotFound } from '@supabase/auth-helpers-shared'; | ||
} | ||
else if (e instanceof CookieNotFound) { | ||
logger.warn(e.toString()); | ||
} | ||
else if (e instanceof AuthHelperError) { | ||
logger.info('AuthHelperError error has happened!'); | ||
logger.error(e.toString()); | ||
// do nothing, these are all just to disrupt the control flow | ||
} | ||
@@ -76,0 +72,0 @@ else { |
@@ -49,4 +49,4 @@ # @supabase/auth-helpers-sveltekit | ||
const { supabaseClient } = createSupabaseClient( | ||
import.meta.env.VITE_SUPABASE_URL as string, | ||
import.meta.env.VITE_SUPABASE_ANON_KEY as string | ||
import.meta.env.VITE_SUPABASE_URL as string, | ||
import.meta.env.VITE_SUPABASE_ANON_KEY as string | ||
); | ||
@@ -62,9 +62,9 @@ | ||
<script> | ||
import { session } from '$app/stores'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { SupaAuthHelper } from '@supabase/auth-helpers-svelte'; | ||
import { session } from '$app/stores'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { SupaAuthHelper } from '@supabase/auth-helpers-svelte'; | ||
</script> | ||
<SupaAuthHelper {supabaseClient} {session}> | ||
<slot /> | ||
<slot /> | ||
</SupaAuthHelper> | ||
@@ -86,8 +86,8 @@ ```` | ||
export const getSession: GetSession = async (event) => { | ||
const { user, accessToken, error } = event.locals; | ||
return { | ||
user, | ||
accessToken, | ||
error | ||
} | ||
const { user, accessToken, error } = event.locals; | ||
return { | ||
user, | ||
accessToken, | ||
error | ||
} | ||
} | ||
@@ -145,3 +145,3 @@ ``` | ||
export const handle = sequence(...handleAuth({ | ||
logout: { returnTo: '/auth/signin' } | ||
logout: { returnTo: '/auth/signin' } | ||
})); | ||
@@ -157,10 +157,10 @@ ``` | ||
<script> | ||
import { session } from '$app/stores'; | ||
import { session } from '$app/stores'; | ||
</script> | ||
{#if !$session.user} | ||
<h1>I am not logged in</h1> | ||
<h1>I am not logged in</h1> | ||
{:else} | ||
<h1>Welcome {$session.user.email}</h1> | ||
<p>I am logged in!</p> | ||
<h1>Welcome {$session.user.email}</h1> | ||
<p>I am logged in!</p> | ||
{/if} | ||
@@ -175,18 +175,18 @@ ``` | ||
<script> | ||
import Auth from 'supabase-ui-svelte'; | ||
import { error, isLoading } from '@supabase/auth-helpers-svelte'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { session } from '$app/stores'; | ||
import Auth from 'supabase-ui-svelte'; | ||
import { error, isLoading } from '@supabase/auth-helpers-svelte'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { session } from '$app/stores'; | ||
let loadedData = []; | ||
async function loadData() { | ||
const { data } = await supabaseClient.from('test').select('*').single(); | ||
loadedData = data | ||
} | ||
let loadedData = []; | ||
async function loadData() { | ||
const { data } = await supabaseClient.from('test').select('*').single(); | ||
loadedData = data | ||
} | ||
$: { | ||
if ($session.user && $session.user.id) { | ||
loadData(); | ||
} | ||
$: { | ||
if ($session.user && $session.user.id) { | ||
loadData(); | ||
} | ||
} | ||
</script> | ||
@@ -196,4 +196,4 @@ | ||
{#if $error} | ||
<p>{$error.message}</p> | ||
{/if} | ||
<p>{$error.message}</p> | ||
{/if} | ||
<h1>{$isLoading ? `Loading...` : `Loaded!`}</h1> | ||
@@ -220,4 +220,4 @@ <Auth | ||
<script> | ||
export let user; | ||
export let data; | ||
export let user; | ||
export let data; | ||
</script> | ||
@@ -232,12 +232,12 @@ | ||
// src/routes/profile.ts | ||
import { supabaseServerClient, withApiAuth } from '@supabase/auth-helpers-sveltekit'; | ||
import type { RequestHandler } from './__types/profile'; | ||
import { supabaseServerClient, withApiAuth } from "@supabase/auth-helpers-sveltekit"; | ||
import type { RequestHandler } from "./__types/profile"; | ||
interface TestTable { | ||
id: string; | ||
created_at: string; | ||
id: string; | ||
created_at: string; | ||
} | ||
interface GetOutput { | ||
user: User; | ||
user: User; | ||
data: TestTable[]; | ||
@@ -247,20 +247,20 @@ } | ||
export const get: RequestHandler<GetOutput> = async ({ locals }) => | ||
withApiAuth( | ||
{ | ||
redirectTo: '/', | ||
user: locals.user | ||
}, | ||
async () => { | ||
withApiAuth( | ||
{ | ||
redirectTo: "/", | ||
user: locals.user | ||
}, | ||
async () => { | ||
const { data } = await supabaseServerClient(session.accessToken) | ||
.from<TestTable>('test') | ||
.select('*'); | ||
.from<TestTable>("test") | ||
.select("*"); | ||
return { | ||
body: { | ||
user: locals.user, | ||
return { | ||
body: { | ||
user: locals.user, | ||
data | ||
} | ||
}; | ||
} | ||
); | ||
} | ||
}; | ||
} | ||
); | ||
``` | ||
@@ -275,15 +275,12 @@ | ||
// src/routes/api/protected-route.ts | ||
import { | ||
supabaseServerClient, | ||
withApiAuth | ||
} from '@supabase/auth-helpers-sveltekit'; | ||
import type { RequestHandler } from './__types/protected-route'; | ||
import { supabaseServerClient, withApiAuth } from "@supabase/auth-helpers-sveltekit"; | ||
import type { RequestHandler } from "./__types/protected-route"; | ||
interface TestTable { | ||
id: string; | ||
created_at: string; | ||
id: string; | ||
created_at: string; | ||
} | ||
interface GetOutput { | ||
data: TestTable[]; | ||
data: TestTable[]; | ||
} | ||
@@ -294,5 +291,3 @@ | ||
// Run queries with RLS on the server | ||
const { data } = await supabaseServerClient(request) | ||
.from('test') | ||
.select('*'); | ||
const { data } = await supabaseServerClient(request).from("test").select("*"); | ||
@@ -299,0 +294,0 @@ return { |
@@ -73,8 +73,4 @@ import { createClient } from '@supabase/supabase-js'; | ||
} | ||
else if (e instanceof CookieNotFound) { | ||
logger.warn(e.toString()); | ||
} | ||
else if (e instanceof AuthHelperError) { | ||
logger.info('AuthHelperError error has happened!'); | ||
logger.error(e.toString()); | ||
// do nothing, these are all just to disrupt the control flow | ||
} | ||
@@ -81,0 +77,0 @@ else { |
{ | ||
"name": "@supabase/auth-helpers-sveltekit", | ||
"version": "0.6.7", | ||
"version": "0.6.8", | ||
"description": "A collection of framework specific Auth utilities for working with Supabase.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
125
README.md
@@ -49,4 +49,4 @@ # @supabase/auth-helpers-sveltekit | ||
const { supabaseClient } = createSupabaseClient( | ||
import.meta.env.VITE_SUPABASE_URL as string, | ||
import.meta.env.VITE_SUPABASE_ANON_KEY as string | ||
import.meta.env.VITE_SUPABASE_URL as string, | ||
import.meta.env.VITE_SUPABASE_ANON_KEY as string | ||
); | ||
@@ -62,9 +62,9 @@ | ||
<script> | ||
import { session } from '$app/stores'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { SupaAuthHelper } from '@supabase/auth-helpers-svelte'; | ||
import { session } from '$app/stores'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { SupaAuthHelper } from '@supabase/auth-helpers-svelte'; | ||
</script> | ||
<SupaAuthHelper {supabaseClient} {session}> | ||
<slot /> | ||
<slot /> | ||
</SupaAuthHelper> | ||
@@ -86,8 +86,8 @@ ```` | ||
export const getSession: GetSession = async (event) => { | ||
const { user, accessToken, error } = event.locals; | ||
return { | ||
user, | ||
accessToken, | ||
error | ||
} | ||
const { user, accessToken, error } = event.locals; | ||
return { | ||
user, | ||
accessToken, | ||
error | ||
} | ||
} | ||
@@ -145,3 +145,3 @@ ``` | ||
export const handle = sequence(...handleAuth({ | ||
logout: { returnTo: '/auth/signin' } | ||
logout: { returnTo: '/auth/signin' } | ||
})); | ||
@@ -157,10 +157,10 @@ ``` | ||
<script> | ||
import { session } from '$app/stores'; | ||
import { session } from '$app/stores'; | ||
</script> | ||
{#if !$session.user} | ||
<h1>I am not logged in</h1> | ||
<h1>I am not logged in</h1> | ||
{:else} | ||
<h1>Welcome {$session.user.email}</h1> | ||
<p>I am logged in!</p> | ||
<h1>Welcome {$session.user.email}</h1> | ||
<p>I am logged in!</p> | ||
{/if} | ||
@@ -175,18 +175,18 @@ ``` | ||
<script> | ||
import Auth from 'supabase-ui-svelte'; | ||
import { error, isLoading } from '@supabase/auth-helpers-svelte'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { session } from '$app/stores'; | ||
import Auth from 'supabase-ui-svelte'; | ||
import { error, isLoading } from '@supabase/auth-helpers-svelte'; | ||
import { supabaseClient } from '$lib/db'; | ||
import { session } from '$app/stores'; | ||
let loadedData = []; | ||
async function loadData() { | ||
const { data } = await supabaseClient.from('test').select('*').single(); | ||
loadedData = data | ||
} | ||
let loadedData = []; | ||
async function loadData() { | ||
const { data } = await supabaseClient.from('test').select('*').single(); | ||
loadedData = data | ||
} | ||
$: { | ||
if ($session.user && $session.user.id) { | ||
loadData(); | ||
} | ||
$: { | ||
if ($session.user && $session.user.id) { | ||
loadData(); | ||
} | ||
} | ||
</script> | ||
@@ -196,4 +196,4 @@ | ||
{#if $error} | ||
<p>{$error.message}</p> | ||
{/if} | ||
<p>{$error.message}</p> | ||
{/if} | ||
<h1>{$isLoading ? `Loading...` : `Loaded!`}</h1> | ||
@@ -220,4 +220,4 @@ <Auth | ||
<script> | ||
export let user; | ||
export let data; | ||
export let user; | ||
export let data; | ||
</script> | ||
@@ -232,12 +232,12 @@ | ||
// src/routes/profile.ts | ||
import { supabaseServerClient, withApiAuth } from '@supabase/auth-helpers-sveltekit'; | ||
import type { RequestHandler } from './__types/profile'; | ||
import { supabaseServerClient, withApiAuth } from "@supabase/auth-helpers-sveltekit"; | ||
import type { RequestHandler } from "./__types/profile"; | ||
interface TestTable { | ||
id: string; | ||
created_at: string; | ||
id: string; | ||
created_at: string; | ||
} | ||
interface GetOutput { | ||
user: User; | ||
user: User; | ||
data: TestTable[]; | ||
@@ -247,20 +247,20 @@ } | ||
export const get: RequestHandler<GetOutput> = async ({ locals }) => | ||
withApiAuth( | ||
{ | ||
redirectTo: '/', | ||
user: locals.user | ||
}, | ||
async () => { | ||
withApiAuth( | ||
{ | ||
redirectTo: "/", | ||
user: locals.user | ||
}, | ||
async () => { | ||
const { data } = await supabaseServerClient(session.accessToken) | ||
.from<TestTable>('test') | ||
.select('*'); | ||
.from<TestTable>("test") | ||
.select("*"); | ||
return { | ||
body: { | ||
user: locals.user, | ||
return { | ||
body: { | ||
user: locals.user, | ||
data | ||
} | ||
}; | ||
} | ||
); | ||
} | ||
}; | ||
} | ||
); | ||
``` | ||
@@ -275,15 +275,12 @@ | ||
// src/routes/api/protected-route.ts | ||
import { | ||
supabaseServerClient, | ||
withApiAuth | ||
} from '@supabase/auth-helpers-sveltekit'; | ||
import type { RequestHandler } from './__types/protected-route'; | ||
import { supabaseServerClient, withApiAuth } from "@supabase/auth-helpers-sveltekit"; | ||
import type { RequestHandler } from "./__types/protected-route"; | ||
interface TestTable { | ||
id: string; | ||
created_at: string; | ||
id: string; | ||
created_at: string; | ||
} | ||
interface GetOutput { | ||
data: TestTable[]; | ||
data: TestTable[]; | ||
} | ||
@@ -294,5 +291,3 @@ | ||
// Run queries with RLS on the server | ||
const { data } = await supabaseServerClient(request) | ||
.from('test') | ||
.select('*'); | ||
const { data } = await supabaseServerClient(request).from("test").select("*"); | ||
@@ -299,0 +294,0 @@ return { |
50850
735
290