diff --git a/front/src/components/Oauth.astro b/front/src/components/Oauth.astro new file mode 100644 index 0000000..ab4441a --- /dev/null +++ b/front/src/components/Oauth.astro @@ -0,0 +1,53 @@ +--- +import ContactUs from 'components/widgets/Contact.astro'; +import CallToAction from 'components/widgets/CallToAction.astro'; + +const pb = Astro.locals.pb +const oauths = (await pb.collection('users').listAuthMethods()).authProviders; +const discordProvider = oauths.find(item => item.name === 'discord'); +const googleProvider = oauths.find(item => item.name === 'google'); + +--- + +<> + + + Oauth + + + + Connecter Vous aussi avec + + + + + diff --git a/front/src/pages/account/login.astro b/front/src/pages/account/login.astro index c87330d..9da593d 100644 --- a/front/src/pages/account/login.astro +++ b/front/src/pages/account/login.astro @@ -5,6 +5,7 @@ import AstroUtils from "libs/AstroUtils"; import PocketBase from 'pocketbase' import ContactUs from 'components/widgets/Contact.astro'; import CallToAction from 'components/widgets/CallToAction.astro'; +import Oauth from 'components/Oauth.astro'; const pb = Astro.locals.pb @@ -12,10 +13,6 @@ if(pb.authStore.isValid){ return Astro.redirect("/account") } -const oauths = (await pb.collection('users').listAuthMethods()).authProviders; -const discordProvider = oauths.find(item => item.name === 'discord'); -const googleProvider = oauths.find(item => item.name === 'google'); - await AstroUtils.wrap(async () => { if (Astro.request.method !== 'POST') { @@ -45,9 +42,9 @@ const metadata = { - - - Oauth - - - - Connecter Vous aussi avec - - + - - diff --git a/front/src/pages/account/register.astro b/front/src/pages/account/register.astro index 78f884e..7d461f7 100644 --- a/front/src/pages/account/register.astro +++ b/front/src/pages/account/register.astro @@ -4,7 +4,7 @@ import Layout from 'layouts/PageLayout.astro'; import AstroUtils from 'libs/AstroUtils'; import { getEnv } from 'libs/Env'; import ContactUs from 'components/widgets/Contact.astro'; -import Form from 'components/ui/Form.astro'; +import Oauth from 'components/Oauth.astro'; const pb = Astro.locals.pb @@ -12,54 +12,23 @@ if(pb.authStore.isValid){ return Astro.redirect("/account") } -const oauths = await pb.collection('users').listAuthMethods(); -const discordProvider = oauths.authProviders.find(item => item.name === 'discord'); -const googleProvider = oauths.authProviders.find(item => item.name === 'google'); - - -console.log(JSON.stringify(oauths.authProviders[0])); - -let secure = true -if (getEnv('NODE_ENV', 'production') !== 'production') { - secure = false -} - -Astro.cookies.set('provider', oauths.authProviders[0],{ - httpOnly: true, - path: '/', - - secure: secure, - sameSite: 'lax', - maxAge: 365000 - }) - - await AstroUtils.wrap(async () => { if (Astro.request.method !== 'POST'){ return } const form = await Astro.request.formData() - if(form.get("type") == "userPassword"){ - const request = { - username: form.get("username") as string, - name: form.get("name") as string, - email: form.get("email") as string, - password: form.get("password") as string, - passwordConfirm: form.get("passwordConfirm") as string, - } - try{ - await pb.collection('users').create(request) - return Astro.redirect('/account/login') - }catch(e){ - console.log(e); - } - }else if (form.get("type") == "discord2FA") { - // console.log("pouet") - // await pb.collection('user').authWithOAuth2({provider: 'discord'}) - // console.log("pouetF"); - - }else{ - Astro.redirect("/404") + const request = { + username: form.get("username") as string, + name: form.get("name") as string, + email: form.get("email") as string, + password: form.get("password") as string, + passwordConfirm: form.get("passwordConfirm") as string, + } + try{ + await pb.collection('users').create(request) + return Astro.redirect('/account/login') + }catch(e){ + console.log(e); } }) @@ -70,6 +39,42 @@ const metadata = { --- + + +
@@ -84,5 +89,4 @@ const metadata = {
-discord?