diff --git a/demo/nextjs/app/dashboard/user-card.tsx b/demo/nextjs/app/dashboard/user-card.tsx
index 1a9f20cf..6a1c6a55 100644
--- a/demo/nextjs/app/dashboard/user-card.tsx
+++ b/demo/nextjs/app/dashboard/user-card.tsx
@@ -36,6 +36,7 @@ import {
QrCode,
ShieldCheck,
ShieldOff,
+ StopCircle,
Trash,
X,
} from "lucide-react";
@@ -447,33 +448,59 @@ export default function UserCard(props: {
-
+ )}
);
diff --git a/demo/nextjs/lib/auth.ts b/demo/nextjs/lib/auth.ts
index e1b7fba2..d6f7e40a 100644
--- a/demo/nextjs/lib/auth.ts
+++ b/demo/nextjs/lib/auth.ts
@@ -153,7 +153,9 @@ export const auth = betterAuth({
passkey(),
openAPI(),
bearer(),
- admin(),
+ admin({
+ adminUserIds: ["EXD5zjob2SD6CBWcEQ6OpLRHcyoUbnaB"],
+ }),
multiSession(),
oAuthProxy(),
nextCookies(),
diff --git a/packages/better-auth/src/plugins/admin/admin.ts b/packages/better-auth/src/plugins/admin/admin.ts
index dec3b2f5..f0217dbb 100644
--- a/packages/better-auth/src/plugins/admin/admin.ts
+++ b/packages/better-auth/src/plugins/admin/admin.ts
@@ -105,7 +105,7 @@ export const admin = (options?: O) => {
const session = await getSessionFromCtx(ctx);
if (
(!session?.session || !opts.adminRoles.includes(session.user.role)) &&
- !opts.adminUserIds?.includes(session?.session?.user.id)
+ !opts.adminUserIds?.includes(session?.user.id || "")
) {
throw new APIError("UNAUTHORIZED");
}