From 4efb5efa5d419fdacb67bf323ebca55b301e4b9d Mon Sep 17 00:00:00 2001 From: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com> Date: Tue, 2 Sep 2025 19:24:47 +0300 Subject: [PATCH] fix: prevent undefined from passed to adapter in username plugin (#4361) --- packages/better-auth/src/adapters/create-adapter/index.ts | 4 +++- packages/better-auth/src/plugins/username/index.ts | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/better-auth/src/adapters/create-adapter/index.ts b/packages/better-auth/src/adapters/create-adapter/index.ts index 50b1a062bd..aa68df92f6 100644 --- a/packages/better-auth/src/adapters/create-adapter/index.ts +++ b/packages/better-auth/src/adapters/create-adapter/index.ts @@ -409,7 +409,9 @@ export const createAdapter = }); } - transformedData[newFieldName] = newValue; + if (newValue !== undefined) { + transformedData[newFieldName] = newValue; + } } return transformedData; }; diff --git a/packages/better-auth/src/plugins/username/index.ts b/packages/better-auth/src/plugins/username/index.ts index 7fe58f03db..5545ab0ac2 100644 --- a/packages/better-auth/src/plugins/username/index.ts +++ b/packages/better-auth/src/plugins/username/index.ts @@ -488,8 +488,12 @@ export const username = (options?: UsernameOptions) => { ); }, handler: createAuthMiddleware(async (ctx) => { - ctx.body.displayUsername ||= ctx.body.username; - ctx.body.username ||= ctx.body.displayUsername; + if (ctx.body.username && !ctx.body.displayUsername) { + ctx.body.displayUsername = ctx.body.username; + } + if (ctx.body.displayUsername && !ctx.body.username) { + ctx.body.username = ctx.body.displayUsername; + } }), }, ],