Include additional field in session data

Hello! I have an additional field username that I want to be included in the session data, but I don't know how to do it.
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "./db/index";
import * as schema from "./db/schema";

export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
schema,
}),
user: {
fields: {
name: "display_name",
},
additionalFields: {
username: {
type: "string",
defaultValue: null,
input: false,
unique: true,
},
},
},
socialProviders: {
google: {
prompt: "select_account",
clientId: process.env.GOOGLE_CLIENT_ID!,
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
},
},
});
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "./db/index";
import * as schema from "./db/schema";

export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
schema,
}),
user: {
fields: {
name: "display_name",
},
additionalFields: {
username: {
type: "string",
defaultValue: null,
input: false,
unique: true,
},
},
},
socialProviders: {
google: {
prompt: "select_account",
clientId: process.env.GOOGLE_CLIENT_ID!,
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
},
},
});
No description
5 Replies
Phuni
PhuniOP3mo ago
I tried adding returned: true to the property but it still doesn't work.
additionalFields: {
username: {
type: "string",
defaultValue: null,
input: false,
returned: true,
unique: true,
},
},
additionalFields: {
username: {
type: "string",
defaultValue: null,
input: false,
returned: true,
unique: true,
},
},
sebastian
sebastian3mo ago
show your auth client config
Phuni
PhuniOP3mo ago
import { createAuthClient } from "better-auth/react";

export const { signIn, signOut, useSession } = createAuthClient();
import { createAuthClient } from "better-auth/react";

export const { signIn, signOut, useSession } = createAuthClient();
Phuni
PhuniOP3mo ago
Thanks 👍

Did you find this page helpful?