Issues getting a backend signup request to work.

I am trying to convert my better-auth from using client side signup to instead use an api endpoint. The data seems to be passing through correctly but I have an issue with better-auth not reading the username.
Cannot read properties of undefined (reading 'username')
Cannot read properties of undefined (reading 'username')
userData { email: 'wardsean15@gmail.com',
11:26:27 AM
username: 'sean',
displayUsername: 'Sean',
password: 'Password!' }
e Cannot read properties of undefined (reading 'username')
11:26:27 AM

at /C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/plugins/username/index.mjs:351:47
at Object.internalHandler [as handler] (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-call@1.0.13/node_modules/better-call/dist/index.js:569:28)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async runBeforeHooks (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/shared/better-auth.C3R00PmH.mjs:6224:22)
at async api.<computed> [as signUpEmail] (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/shared/better-auth.C3R00PmH.mjs:6172:22)
at async Object.handler (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/.nuxt/dev/index.mjs:13639:18)
at async /C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs:2004:19
at async Object.callAsync (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/unctx@2.4.1/node_modules/unctx/dist/index.mjs:72:16)
at async Server.toNodeHandle (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs:2296:7)
userData { email: 'wardsean15@gmail.com',
11:26:27 AM
username: 'sean',
displayUsername: 'Sean',
password: 'Password!' }
e Cannot read properties of undefined (reading 'username')
11:26:27 AM

at /C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/plugins/username/index.mjs:351:47
at Object.internalHandler [as handler] (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-call@1.0.13/node_modules/better-call/dist/index.js:569:28)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async runBeforeHooks (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/shared/better-auth.C3R00PmH.mjs:6224:22)
at async api.<computed> [as signUpEmail] (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/better-auth@1.3.5_react-dom_469c9cdab454e3a9ed5ce8096d6bcc4a/node_modules/better-auth/dist/shared/better-auth.C3R00PmH.mjs:6172:22)
at async Object.handler (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/.nuxt/dev/index.mjs:13639:18)
at async /C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs:2004:19
at async Object.callAsync (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/unctx@2.4.1/node_modules/unctx/dist/index.mjs:72:16)
at async Server.toNodeHandle (/C:/Users/s/OneDrive/Documents/My%20Work/TierForge/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs:2296:7)
1 Reply
Sean
SeanOP3mo ago
try {
console.log("userData", userData);

const user = await auth.api.signUpEmail({
email: userData.email.trim(),
password: userData.password,
displayUsername: userData.displayUsername.trim(),
name: userData.username.trim(),
username: userData.username.trim(),
image: userData.image,
});

return {
user,
errors: null,
};
}
try {
console.log("userData", userData);

const user = await auth.api.signUpEmail({
email: userData.email.trim(),
password: userData.password,
displayUsername: userData.displayUsername.trim(),
name: userData.username.trim(),
username: userData.username.trim(),
image: userData.image,
});

return {
user,
errors: null,
};
}

Did you find this page helpful?