migrate of pocketbase 0.23

This commit is contained in:
MuslemRahimi 2024-11-24 21:47:45 +01:00
parent 61e21ce433
commit 1e8fb83d18
10 changed files with 104 additions and 57 deletions

View File

@ -129,9 +129,10 @@ export const actions = {
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -144,18 +145,20 @@ export const actions = {
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -180,7 +183,7 @@ export const actions = {
maxAge: 60 * 60,
});
cookies.set("path", "/pricing", {
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,
@ -191,3 +194,4 @@ export const actions = {
redirect(302, authProviderRedirect);
},
};

View File

@ -77,10 +77,11 @@ await locals.pb?.collection('users').update(
redirect(303, "/");
},
oauth2: async ({ url, locals, request, cookies, params }) => {
const authMethods = await locals?.pb
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -93,18 +94,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -129,7 +132,7 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/crypto/" + params.tickerID, {
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,
@ -140,3 +143,4 @@ await locals.pb?.collection('users').update(
redirect(302, authProviderRedirect);
},
};

View File

@ -78,10 +78,11 @@ await locals.pb?.collection('users').update(
redirect(303, "/");
},
oauth2: async ({ url, locals, request, cookies, params }) => {
const authMethods = await locals?.pb
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -94,18 +95,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
console.log(provider)
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -130,7 +133,7 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/etf/" + params.tickerID, {
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,

View File

@ -38,9 +38,10 @@ export const actions = {
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -53,19 +54,20 @@ export const actions = {
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -101,3 +103,4 @@ export const actions = {
redirect(302, authProviderRedirect);
},
};

View File

@ -1,8 +1,6 @@
import { redirect } from "@sveltejs/kit";
export const config = {
runtime: "nodejs20.x",
};
export const GET = async ({ locals, url, cookies }) => {
//console.log(url.searchParams);
@ -22,17 +20,18 @@ export const GET = async ({ locals, url, cookies }) => {
//console.log('returned code',code)
//as a side effect this will generate a new code verifier, hence why we need to pass the verifier back in through the cookie
const authMethods = await locals.pb?.collection("users")?.listAuthMethods();
const authMethods = (await locals.pb?.collection("users")?.listAuthMethods())?.oauth2;
if (!authMethods?.authProviders) {
if (!authMethods?.providers) {
console.log("No Auth Providers");
redirect(301, "/register");
}
const targetItem = authMethods.authProviders.findIndex(
(item) => item.name === providerSelected,
);
const provider = authMethods.authProviders[targetItem];
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
const provider = authMethods?.providers[targetItem];
if (!provider) {
console.log("Provider Not Found");
@ -45,7 +44,7 @@ export const GET = async ({ locals, url, cookies }) => {
}
try {
//console.log(provider)
//
newUser = await locals.pb
?.collection("users")

View File

@ -105,9 +105,10 @@ await locals.pb?.collection('users').update(
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -120,18 +121,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -156,7 +159,7 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/pricing", {
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,
@ -167,3 +170,4 @@ await locals.pb?.collection('users').update(
redirect(302, authProviderRedirect);
},
};

View File

@ -72,9 +72,10 @@ export const actions = {
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -87,18 +88,21 @@ export const actions = {
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",

View File

@ -156,9 +156,10 @@ await locals.pb?.collection('users').update(
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -171,18 +172,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
(item) => item?.name === providerSelected
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -207,6 +210,14 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,
path: "/",
maxAge: 60,
});
redirect(302, authProviderRedirect);
},
};

View File

@ -78,10 +78,11 @@ await locals.pb?.collection('users').update(
redirect(303, "/");
},
oauth2: async ({ url, locals, request, cookies, params }) => {
const authMethods = await locals?.pb
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -94,18 +95,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -130,7 +133,7 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/stocks/" + params.tickerID, {
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,

View File

@ -106,10 +106,11 @@ await locals.pb?.collection('users').update(
redirect(303, "/");
},
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = await locals?.pb
oauth2: async ({ url, locals, request, cookies }) => {
const authMethods = (await locals?.pb
?.collection("users")
?.listAuthMethods();
?.listAuthMethods())?.oauth2;
const data = await request?.formData();
const providerSelected = data?.get("provider");
@ -122,18 +123,20 @@ await locals.pb?.collection('users').update(
}
const redirectURL = `${url.origin}/oauth`;
const targetItem = authMethods.authProviders?.findIndex(
const targetItem = authMethods?.providers?.findIndex(
(item) => item?.name === providerSelected,
);
//console.log("==================")
//console.log(authMethods.authProviders)
//console.log('target item is: ', targetItem)
const provider = authMethods.authProviders[targetItem];
const provider = authMethods.providers[targetItem];
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
const state = provider.state;
const verifier = provider.codeVerifier;
cookies.set("state", state, {
httpOnly: true,
sameSite: "lax",
@ -158,6 +161,15 @@ await locals.pb?.collection('users').update(
maxAge: 60 * 60,
});
cookies.set("path", "/", {
httpOnly: true,
sameSite: "lax",
secure: true,
path: "/",
maxAge: 60,
});
redirect(302, authProviderRedirect);
},
};