mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-10 07:25:35 +00:00
Revert "Add: tRPC + register on first time login"
This reverts commit cb5f9017a9a3e1e0886bfa67b9b9f5554f527d35.
This commit is contained in:
@@ -1,101 +1,64 @@
|
||||
import NextAuth from "next-auth";
|
||||
import GoogleProvider from "next-auth/providers/google";
|
||||
import NextAuth from 'next-auth';
|
||||
import GoogleProvider from 'next-auth/providers/google';
|
||||
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
export default NextAuth({
|
||||
providers: [
|
||||
GoogleProvider({
|
||||
clientId: process.env.GOOGLE_CLIENT_ID,
|
||||
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
||||
authorization: {
|
||||
params: {
|
||||
prompt: "consent",
|
||||
access_type: "offline",
|
||||
response_type: "code",
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
callbacks: {
|
||||
async signIn({ account: accountParam, profile }) {
|
||||
// TODO: Auth
|
||||
console.log(
|
||||
"Connexion via",
|
||||
accountParam.provider,
|
||||
accountParam.providerAccountId,
|
||||
profile.email,
|
||||
profile.name
|
||||
);
|
||||
if (accountParam.provider !== "google") {
|
||||
return (
|
||||
"/signin?error=" + encodeURI("Authentitifcation via Google requise")
|
||||
);
|
||||
}
|
||||
providers: [
|
||||
GoogleProvider({
|
||||
clientId: process.env.GOOGLE_CLIENT_ID,
|
||||
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
||||
authorization: {
|
||||
params: {
|
||||
prompt: 'consent',
|
||||
access_type: 'offline',
|
||||
response_type: 'code'
|
||||
}
|
||||
}
|
||||
})
|
||||
],
|
||||
callbacks: {
|
||||
async signIn({ account: accountParam, profile }) { // TODO: Auth
|
||||
console.log('Connexion via', accountParam.provider, accountParam.providerAccountId, profile.email, profile.name)
|
||||
if (accountParam.provider !== 'google') {
|
||||
return '/signin?error=' + encodeURI('Authentitifcation via Google requise');
|
||||
}
|
||||
|
||||
const email = profile?.email;
|
||||
if (email === "") {
|
||||
return (
|
||||
"/signin?error=" +
|
||||
encodeURI(
|
||||
"Impossible de récupérer l'email associé à ce compte Google"
|
||||
)
|
||||
);
|
||||
}
|
||||
const email = profile?.email;
|
||||
if (email === '') {
|
||||
return '/signin?error=' + encodeURI('Impossible de récupérer l\'email associé à ce compte Google');
|
||||
}
|
||||
|
||||
const googleId = profile?.sub;
|
||||
if (googleId === "") {
|
||||
return (
|
||||
"/signin?error=" +
|
||||
encodeURI(
|
||||
"Impossible de récupérer l'identifiant associé à ce compte Google"
|
||||
)
|
||||
);
|
||||
}
|
||||
const googleId = profile?.sub;
|
||||
if (googleId === '') {
|
||||
return '/signin?error=' + encodeURI('Impossible de récupérer l\'identifiant associé à ce compte Google');
|
||||
}
|
||||
|
||||
try {
|
||||
const account = await prisma.user.findFirst({
|
||||
where: {
|
||||
google_id: googleId,
|
||||
email,
|
||||
},
|
||||
});
|
||||
const accountCount = await prisma.user.count();
|
||||
try {
|
||||
const account = await prisma.user.findFirst({
|
||||
where: {
|
||||
google_id: googleId,
|
||||
email
|
||||
}
|
||||
});
|
||||
|
||||
if (!account) {
|
||||
if (accountCount === 0) {
|
||||
await prisma.user.create({
|
||||
data: {
|
||||
email,
|
||||
google_id: googleId,
|
||||
},
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return (
|
||||
"/signin?error=" +
|
||||
encodeURI(
|
||||
"Vous n'êtes pas autorisé à vous connecter avec ce compte Google"
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return true;
|
||||
if (!account) {
|
||||
return '/signin?error=' + encodeURI('Vous n\'êtes pas autorisé à vous connecter avec ce compte Google');
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return '/signin?error=' + encodeURI('Une erreur est survenue lors de l\'authentification');
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return (
|
||||
"/signin?error=" +
|
||||
encodeURI("Une erreur est survenue lors de l'authentification")
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
pages: {
|
||||
signIn: "/signin",
|
||||
error: "/signin",
|
||||
},
|
||||
session: {
|
||||
maxAge: 60 * 60 * 6, // Session de 6 heures
|
||||
},
|
||||
pages: {
|
||||
signIn: '/signin',
|
||||
error: '/signin'
|
||||
},
|
||||
session: {
|
||||
maxAge: 60 * 60 * 6 // Session de 6 heures
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user