diff --git a/src/lib/JWT.svelte b/src/lib/JWT.svelte index fc9a4a5..71c61d8 100644 --- a/src/lib/JWT.svelte +++ b/src/lib/JWT.svelte @@ -1,12 +1,16 @@ - - -

{jwt}

\ No newline at end of file + import { createJwt } from "$lib/services/createJwt"; + + let jwt = ""; + + async function handleClick() { + jwt = await createJwt(); + } + + +
+ +

{jwt}

+
diff --git a/src/lib/Wallet.svelte b/src/lib/Wallet.svelte index f69941a..b372d0b 100644 --- a/src/lib/Wallet.svelte +++ b/src/lib/Wallet.svelte @@ -4,7 +4,6 @@ import { onMount } from "svelte"; import Icon from "@iconify/svelte"; import { walletState, signRequest } from "./stores"; - import { signInWithGoogle, startSignIn as startSignInService, diff --git a/src/lib/machines/walletMachine.ts b/src/lib/machines/walletMachine.ts index 0277667..3ede265 100644 --- a/src/lib/machines/walletMachine.ts +++ b/src/lib/machines/walletMachine.ts @@ -2,7 +2,6 @@ import { createMachine, assign } from 'xstate'; import { signInWithGoogle } from '../services/signInWithGoogle'; import { createSession } from '../services/createSession'; -import { goto } from '$app/navigation'; const walletMachine = createMachine({ id: 'wallet', @@ -70,7 +69,6 @@ const walletMachine = createMachine({ pkps: (_, event) => event.data.pkps, sessionSigs: (_, event) => event.data.sessionSigs, }), - (context) => console.log('Context after creating session:', context), // Debug log ], }, onError: { diff --git a/src/lib/services/createJWT.ts b/src/lib/services/createJWT.ts index 797f9c5..ed989af 100644 --- a/src/lib/services/createJWT.ts +++ b/src/lib/services/createJWT.ts @@ -1,17 +1,27 @@ -// src/lib/services/createJwt.ts -import { createSession } from './createSession'; -import type { IProvider } from '$lib/IProvider'; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import type { AccsEVMParams } from "@lit-protocol/types"; -export const createJwt = async (provider: IProvider, authMethod: any, pkps: IRelayPKP[]) => { - const { sessionSigs } = await createSession(provider, authMethod, pkps); +export const createJwt = async () => { - const litNodeClient = new LitNodeClient({ - provider, - chain: 'xdai', - authSig: sessionSigs, - }); + const litNodeClient = new LitNodeClient({ litNetwork: "serrano" }); + await litNodeClient.connect(); - const unifiedAccessControlConditions = [ + const me = JSON.parse(localStorage.getItem('me')); + if (!me || !me.sessionSigs) { + throw new Error('No sessionSigs found in local storage'); + } + + const resourceId = { + baseUrl: "https://localhost:3000/", + path: "/wunderauth", + orgId: "°", + role: "admin", + extraData: "{loggedIn: true}" + } + + const sessionSigs = me.sessionSigs; + + const unifiedAccessControlConditions: AccsEVMParams[] = [ { conditionType: 'evmBasic', contractAddress: '', @@ -21,15 +31,24 @@ export const createJwt = async (provider: IProvider, authMethod: any, pkps: IRel parameters: [':userAddress', 'latest'], returnValueTest: { comparator: '>=', - value: '10000000000000', + value: '1000000000000', }, }, ]; - const jwt = await litNodeClient.getSignedToken({ + await litNodeClient.saveSigningCondition({ unifiedAccessControlConditions, sessionSigs, - resourceId: 'wundergraph-auth', // replace with your resource id + resourceId, + chain: "litSessionSign", + }); + + + const jwt = await litNodeClient.getSignedToken({ + unifiedAccessControlConditions, + chain: 'xdai', + sessionSigs, + resourceId }); return jwt; diff --git a/src/lib/services/createSession.ts b/src/lib/services/createSession.ts index 4271d52..c3f0bc6 100644 --- a/src/lib/services/createSession.ts +++ b/src/lib/services/createSession.ts @@ -12,19 +12,14 @@ export const createSession = async (provider, authMethod, pkps: IRelayPKP[]) => currentPKP = pkps[0]; } - console.log('Current PKP:', currentPKP); // Debug log - const sessionSigs = await createLitSession( provider, currentPKP.publicKey, - authMethod + authMethod, ); - console.log('Session Signatures:', sessionSigs); // Debug log - return { pkps, sessionSigs }; } catch (error) { - console.error('Error in createSession:', error); // Debug log throw new Error(`Failed to create session: ${error.message}`); } }; \ No newline at end of file diff --git a/src/routes/jwt/+page.svelte b/src/routes/jwt/+page.svelte new file mode 100644 index 0000000..ba0eed1 --- /dev/null +++ b/src/routes/jwt/+page.svelte @@ -0,0 +1,5 @@ + + +