mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-05-22 01:42:02 +00:00
Handle email logic in session callback
This commit is contained in:
parent
0e4188cb34
commit
9ebf71f7e4
@ -138,26 +138,26 @@ export const authOptions = {
|
|||||||
token.user = newUser;
|
token.user = newUser;
|
||||||
}
|
}
|
||||||
// if the user has no pubkey, generate a new key pair
|
// if the user has no pubkey, generate a new key pair
|
||||||
if (token && token?.user && token?.user?.id && !token.user?.pubkey) {
|
// if (token && token?.user && token?.user?.id && !token.user?.pubkey) {
|
||||||
try {
|
// try {
|
||||||
let sk = generateSecretKey()
|
// let sk = generateSecretKey()
|
||||||
let pk = getPublicKey(sk)
|
// let pk = getPublicKey(sk)
|
||||||
let skHex = bytesToHex(sk)
|
// let skHex = bytesToHex(sk)
|
||||||
const updatedUser = await updateUser(token.user.id, { pubkey: pk, privkey: skHex });
|
// const updatedUser = await updateUser(token.user.id, { pubkey: pk, privkey: skHex });
|
||||||
if (!updatedUser) {
|
// if (!updatedUser) {
|
||||||
console.error("Failed to update user");
|
// console.error("Failed to update user");
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
const fullUser = await getUserByPubkey(pk);
|
// const fullUser = await getUserByPubkey(pk);
|
||||||
if (fullUser && fullUser.email === "austinkelsay@protonmail.com") {
|
// if (fullUser && fullUser.email === "austinkelsay@protonmail.com") {
|
||||||
console.log("FULLLSNDE", fullUser);
|
// console.log("FULLLSNDE", fullUser);
|
||||||
}
|
// }
|
||||||
token.user = fullUser;
|
// token.user = fullUser;
|
||||||
} catch (error) {
|
// } catch (error) {
|
||||||
console.error("Ephemeral key pair generation error:", error);
|
// console.error("Ephemeral key pair generation error:", error);
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (user) {
|
if (user) {
|
||||||
token.user = user;
|
token.user = user;
|
||||||
@ -165,8 +165,27 @@ export const authOptions = {
|
|||||||
return token;
|
return token;
|
||||||
},
|
},
|
||||||
async session({ session, token }) {
|
async session({ session, token }) {
|
||||||
if (session.user.email === "austinkelsay@protonmail.com") {
|
if (session.user?.email) {
|
||||||
console.log("SESSION", session);
|
const existingUser = await getUserByEmail(session.user.email);
|
||||||
|
if (existingUser) {
|
||||||
|
console.log("EXISTING USER", existingUser);
|
||||||
|
session.user = existingUser;
|
||||||
|
token.user = existingUser;
|
||||||
|
} else {
|
||||||
|
console.log("CREATING USER", session, token);
|
||||||
|
const createdUser = await createUser({ email: session.user.email });
|
||||||
|
let sk = generateSecretKey()
|
||||||
|
let pk = getPublicKey(sk)
|
||||||
|
let skHex = bytesToHex(sk)
|
||||||
|
const updatedUser = await updateUser(createdUser.id, { pubkey: pk, privkey: skHex });
|
||||||
|
if (!updatedUser) {
|
||||||
|
console.error("Failed to update user");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
const fullUser = await getUserByPubkey(pk);
|
||||||
|
session.user = fullUser;
|
||||||
|
token.user = fullUser;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Add user from token to session
|
// Add user from token to session
|
||||||
session.user = token.user;
|
session.user = token.user;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user