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: { - + ) : ( + + }); + setIsSignOut(false); + }} + disabled={isSignOut} + > + + {isSignOut ? ( + + ) : ( +
+ + Sign Out +
+ )} +
+ + )}
); 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"); }