migrate of pocketbase 0.23
This commit is contained in:
parent
61e21ce433
commit
1e8fb83d18
@ -129,9 +129,10 @@ export const actions = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -144,18 +145,20 @@ export const actions = {
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -180,7 +183,7 @@ export const actions = {
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
cookies.set("path", "/pricing", {
|
cookies.set("path", "/", {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
secure: true,
|
secure: true,
|
||||||
@ -191,3 +194,4 @@ export const actions = {
|
|||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -77,10 +77,11 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(303, "/");
|
redirect(303, "/");
|
||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies, params }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -93,18 +94,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -129,7 +132,7 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
cookies.set("path", "/crypto/" + params.tickerID, {
|
cookies.set("path", "/", {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
secure: true,
|
secure: true,
|
||||||
@ -140,3 +143,4 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -78,10 +78,11 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(303, "/");
|
redirect(303, "/");
|
||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies, params }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -94,18 +95,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
console.log(provider)
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -130,7 +133,7 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
cookies.set("path", "/etf/" + params.tickerID, {
|
cookies.set("path", "/", {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
secure: true,
|
secure: true,
|
||||||
|
|||||||
@ -38,9 +38,10 @@ export const actions = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -53,19 +54,20 @@ export const actions = {
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
|
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -101,3 +103,4 @@ export const actions = {
|
|||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
import { redirect } from "@sveltejs/kit";
|
import { redirect } from "@sveltejs/kit";
|
||||||
|
|
||||||
export const config = {
|
|
||||||
runtime: "nodejs20.x",
|
|
||||||
};
|
|
||||||
|
|
||||||
export const GET = async ({ locals, url, cookies }) => {
|
export const GET = async ({ locals, url, cookies }) => {
|
||||||
//console.log(url.searchParams);
|
//console.log(url.searchParams);
|
||||||
@ -22,17 +20,18 @@ export const GET = async ({ locals, url, cookies }) => {
|
|||||||
//console.log('returned code',code)
|
//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
|
//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");
|
console.log("No Auth Providers");
|
||||||
redirect(301, "/register");
|
redirect(301, "/register");
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
const provider = authMethods.authProviders[targetItem];
|
|
||||||
|
const provider = authMethods?.providers[targetItem];
|
||||||
|
|
||||||
if (!provider) {
|
if (!provider) {
|
||||||
console.log("Provider Not Found");
|
console.log("Provider Not Found");
|
||||||
@ -45,7 +44,7 @@ export const GET = async ({ locals, url, cookies }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//console.log(provider)
|
//
|
||||||
|
|
||||||
newUser = await locals.pb
|
newUser = await locals.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
|
|||||||
@ -105,9 +105,10 @@ await locals.pb?.collection('users').update(
|
|||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -120,18 +121,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -156,7 +159,7 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
cookies.set("path", "/pricing", {
|
cookies.set("path", "/", {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
secure: true,
|
secure: true,
|
||||||
@ -167,3 +170,4 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -72,9 +72,10 @@ export const actions = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -87,18 +88,21 @@ export const actions = {
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
|
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
|
|||||||
@ -156,9 +156,10 @@ await locals.pb?.collection('users').update(
|
|||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -171,18 +172,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -207,6 +210,14 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
cookies.set("path", "/", {
|
||||||
|
httpOnly: true,
|
||||||
|
sameSite: "lax",
|
||||||
|
secure: true,
|
||||||
|
path: "/",
|
||||||
|
maxAge: 60,
|
||||||
|
});
|
||||||
|
|
||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -78,10 +78,11 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(303, "/");
|
redirect(303, "/");
|
||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies, params }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -94,18 +95,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -130,7 +133,7 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
cookies.set("path", "/stocks/" + params.tickerID, {
|
cookies.set("path", "/", {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
secure: true,
|
secure: true,
|
||||||
|
|||||||
@ -106,10 +106,11 @@ await locals.pb?.collection('users').update(
|
|||||||
redirect(303, "/");
|
redirect(303, "/");
|
||||||
},
|
},
|
||||||
|
|
||||||
oauth2: async ({ url, locals, request, cookies }) => {
|
oauth2: async ({ url, locals, request, cookies }) => {
|
||||||
const authMethods = await locals?.pb
|
const authMethods = (await locals?.pb
|
||||||
?.collection("users")
|
?.collection("users")
|
||||||
?.listAuthMethods();
|
?.listAuthMethods())?.oauth2;
|
||||||
|
|
||||||
|
|
||||||
const data = await request?.formData();
|
const data = await request?.formData();
|
||||||
const providerSelected = data?.get("provider");
|
const providerSelected = data?.get("provider");
|
||||||
@ -122,18 +123,20 @@ await locals.pb?.collection('users').update(
|
|||||||
}
|
}
|
||||||
const redirectURL = `${url.origin}/oauth`;
|
const redirectURL = `${url.origin}/oauth`;
|
||||||
|
|
||||||
const targetItem = authMethods.authProviders?.findIndex(
|
const targetItem = authMethods?.providers?.findIndex(
|
||||||
(item) => item?.name === providerSelected,
|
(item) => item?.name === providerSelected,
|
||||||
);
|
);
|
||||||
//console.log("==================")
|
//console.log("==================")
|
||||||
//console.log(authMethods.authProviders)
|
//console.log(authMethods.authProviders)
|
||||||
//console.log('target item is: ', targetItem)
|
//console.log('target item is: ', targetItem)
|
||||||
|
|
||||||
const provider = authMethods.authProviders[targetItem];
|
const provider = authMethods.providers[targetItem];
|
||||||
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
const authProviderRedirect = `${provider.authUrl}${redirectURL}`;
|
||||||
const state = provider.state;
|
const state = provider.state;
|
||||||
const verifier = provider.codeVerifier;
|
const verifier = provider.codeVerifier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cookies.set("state", state, {
|
cookies.set("state", state, {
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
sameSite: "lax",
|
sameSite: "lax",
|
||||||
@ -158,6 +161,15 @@ await locals.pb?.collection('users').update(
|
|||||||
maxAge: 60 * 60,
|
maxAge: 60 * 60,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
cookies.set("path", "/", {
|
||||||
|
httpOnly: true,
|
||||||
|
sameSite: "lax",
|
||||||
|
secure: true,
|
||||||
|
path: "/",
|
||||||
|
maxAge: 60,
|
||||||
|
});
|
||||||
|
|
||||||
redirect(302, authProviderRedirect);
|
redirect(302, authProviderRedirect);
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user