import { Metadata } from "next"; import { auth } from "@/lib/auth"; import { headers } from "next/headers"; import { ArrowLeftRight, ArrowUpRight, Mail, Users } from "lucide-react"; import { Card, CardContent } from "@/components/ui/card"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Logo } from "@/components/logo"; import Image from "next/image"; import { ConsentBtns } from "./concet-buttons"; export const metadata: Metadata = { title: "Authorize Application", description: "Grant access to your account", }; interface AuthorizePageProps { searchParams: Promise<{ redirect_uri: string; scope: string; cancel_uri: string; client_id: string; }>; } export default async function AuthorizePage({ searchParams, }: AuthorizePageProps) { const { redirect_uri, scope, client_id, cancel_uri } = await searchParams; const session = await auth.api.getSession({ headers: await headers(), }); const clientDetails = await auth.api.getOAuthClient({ params: { id: client_id, }, headers: await headers(), }); return (

Authorize Application

{clientDetails.icon ? ( App Logo ) : ( )}
{session?.user.name.charAt(0)}

{clientDetails.name} is requesting access to your Better Auth account

{session?.user.name}
{session?.user.email}
Continuing will allow Sign in with {clientDetails.name} to:
{scope.includes("profile") && (
Read your Better Auth user data.
)} {scope.includes("email") && (
Read your email address.
)}
); }