signup / src /app /api /auth /huggingface /start /route.ts
burtenshaw's picture
burtenshaw HF Staff
Deploy Next.js signup Space
654b283 verified
raw
history blame contribute delete
602 Bytes
import { NextRequest, NextResponse } from "next/server";
import { createOAuthAuthorizationUrl } from "@/lib/huggingface";
import { createOpaqueToken, createPkcePair, setOAuthCookies } from "@/lib/session";
export const runtime = "nodejs";
export async function GET(request: NextRequest) {
const state = createOpaqueToken(24);
const { verifier, challenge } = createPkcePair();
const response = NextResponse.redirect(
createOAuthAuthorizationUrl({
state,
codeChallenge: challenge,
request,
}),
);
setOAuthCookies(response, state, verifier);
return response;
}