Accessing additional values from session data
Hello, I've tried to access additional fields on my user object, but it seems both
Client Config
Return Value
serverAuth.api.getSession({ headers }) and clientAuth.useSession() doesn't return the additional fields.
Is there a way to accessing both snowflakes and cover_image from session?
Here are my code
Server Config
import { betterAuth } from "better-auth";
import { APIError } from "better-auth/api";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/server/db";
import { admin, createAuthMiddleware, username } from "better-auth/plugins";
import { ac, roles } from "~/server/auth/permissions";
import { nextCookies } from "better-auth/next-js";
export const auth = betterAuth({
user: {
additionalFields: {
snowflakes: {
fieldName: "snowflakes",
type: "number",
returned: true,
},
cover_image: {
fieldName: "cover_image",
type: "string",
returned: true,
},
},
},
});
import { betterAuth } from "better-auth";
import { APIError } from "better-auth/api";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/server/db";
import { admin, createAuthMiddleware, username } from "better-auth/plugins";
import { ac, roles } from "~/server/auth/permissions";
import { nextCookies } from "better-auth/next-js";
export const auth = betterAuth({
user: {
additionalFields: {
snowflakes: {
fieldName: "snowflakes",
type: "number",
returned: true,
},
cover_image: {
fieldName: "cover_image",
type: "string",
returned: true,
},
},
},
});
import {
adminClient,
inferAdditionalFields,
usernameClient,
} from "better-auth/client/plugins";
import { createAuthClient } from "better-auth/react";
import { type auth } from "~/server/auth";
import { ac, roles } from "~/server/auth/permissions";
export const authClient = createAuthClient({
plugins: [
inferAdditionalFields<typeof auth>(),
adminClient({
ac,
roles,
}),
usernameClient(),
],
});
import {
adminClient,
inferAdditionalFields,
usernameClient,
} from "better-auth/client/plugins";
import { createAuthClient } from "better-auth/react";
import { type auth } from "~/server/auth";
import { ac, roles } from "~/server/auth/permissions";
export const authClient = createAuthClient({
plugins: [
inferAdditionalFields<typeof auth>(),
adminClient({
ac,
roles,
}),
usernameClient(),
],
});
{
"user": {
"name": "xxx",
"email": "xxx",
"emailVerified": true,
"image": null,
"createdAt": "2025-09-14T06:55:17.000Z",
"updatedAt": "2025-09-14T06:55:17.000Z",
"role": "xxx",
"banned": null,
"banReason": null,
"banExpires": null,
"username": "xxx",
"displayUsername": "xxx",
"id": "FDu3GLOgJ5sjSTgNUZ2Gm8fQFWijO2Fx"
}
}
{
"user": {
"name": "xxx",
"email": "xxx",
"emailVerified": true,
"image": null,
"createdAt": "2025-09-14T06:55:17.000Z",
"updatedAt": "2025-09-14T06:55:17.000Z",
"role": "xxx",
"banned": null,
"banReason": null,
"banExpires": null,
"username": "xxx",
"displayUsername": "xxx",
"id": "FDu3GLOgJ5sjSTgNUZ2Gm8fQFWijO2Fx"
}
}
0 Replies