[Bug] Social Providers Login cannot pass user data
In hooks.before, I have added an id into the body:
hooks: {
before: createAuthMiddleware(async (ctx) => {
const referralCode = ctx.body?.referred_by || ctx.query?.referral_code;
if (['sign-up', 'social'].some((v) => ctx.path.includes(v)) && !!referralCode) {
const referredByUser = await getUserByReferralCode(referralCode);
if (!referredByUser) {
throw new APIError('BAD_REQUEST', {
message: 'Invalid referral code',
});
}
ctx.body.referred_by = referredByUser.id;
}
return ctx;
}),
},
But in
databaseHooks: {
user: {
create: {
before: async (user) => {
console.log('user', user);
},
}
}
},
it cannot get back the user data. It will only get the default better auth user fields.
hooks: {
before: createAuthMiddleware(async (ctx) => {
const referralCode = ctx.body?.referred_by || ctx.query?.referral_code;
if (['sign-up', 'social'].some((v) => ctx.path.includes(v)) && !!referralCode) {
const referredByUser = await getUserByReferralCode(referralCode);
if (!referredByUser) {
throw new APIError('BAD_REQUEST', {
message: 'Invalid referral code',
});
}
ctx.body.referred_by = referredByUser.id;
}
return ctx;
}),
},
But in
databaseHooks: {
user: {
create: {
before: async (user) => {
console.log('user', user);
},
}
}
},
it cannot get back the user data. It will only get the default better auth user fields.