diff --git a/.wundergraph/wundergraph.config.ts b/.wundergraph/wundergraph.config.ts index b77c232..144aeca 100644 --- a/.wundergraph/wundergraph.config.ts +++ b/.wundergraph/wundergraph.config.ts @@ -64,4 +64,7 @@ configureWunderGraphApplication({ ], }, }, + authorization: { + roles: ['admin'], + }, }); diff --git a/.wundergraph/wundergraph.operations.ts b/.wundergraph/wundergraph.operations.ts index 98466d2..19328e6 100644 --- a/.wundergraph/wundergraph.operations.ts +++ b/.wundergraph/wundergraph.operations.ts @@ -5,7 +5,7 @@ export default configureWunderGraphOperations({ operations: { defaultConfig: { authentication: { - required: false, + required: true, }, }, queries: (config) => ({ diff --git a/src/lib/Login.svelte b/src/lib/Login.svelte index e73e4e9..4da3752 100644 --- a/src/lib/Login.svelte +++ b/src/lib/Login.svelte @@ -1,5 +1,6 @@ diff --git a/src/lib/User.svelte b/src/lib/User.svelte index 5dffc45..ae975ee 100644 --- a/src/lib/User.svelte +++ b/src/lib/User.svelte @@ -21,6 +21,7 @@ {#if user}

Welcome, {user.name}!

+

Your roles: {user.roles.join(", ")}

{:else}

Loading...

{/if} diff --git a/src/lib/wundergraph/index.ts b/src/lib/wundergraph/index.ts index 6f9f42f..4bc676f 100644 --- a/src/lib/wundergraph/index.ts +++ b/src/lib/wundergraph/index.ts @@ -7,4 +7,4 @@ const client = createClient(); const { createFileUpload, createMutation, createQuery, createSubscription, getAuth, getUser, queryKey, prefetchQuery } = createSvelteClient(client); -export { createFileUpload, createMutation, createQuery, createSubscription, getAuth, getUser, queryKey, prefetchQuery }; +export { createFileUpload, createMutation, createQuery, createSubscription, getAuth, getUser, queryKey, prefetchQuery, client }; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index c6000d8..433cc4b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,8 +1,17 @@ diff --git a/src/routes/api/auth/+server.ts b/src/routes/api/auth/+server.ts index 6d4369b..2bdde67 100644 --- a/src/routes/api/auth/+server.ts +++ b/src/routes/api/auth/+server.ts @@ -5,7 +5,7 @@ import { error } from '@sveltejs/kit'; const secretKey = 'mysecrettestkey'; export async function POST() { - const token = jwt.sign({ name: 'Samuel', loggedIn: true }, secretKey); + const token = jwt.sign({ name: 'Samuel', loggedIn: true, roles: ['admin'] }, secretKey); if (!token) { throw error(400, 'No token created.'); }