File size: 602 Bytes
654b283 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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;
}
|