Remove vercel auth
This commit is contained in:
parent
9323d90a36
commit
1af7fb3dfc
11 changed files with 2 additions and 320 deletions
|
|
@ -1,11 +1,11 @@
|
|||
"use server";
|
||||
|
||||
import { auth } from "@/auth";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { getServerSession } from "@/lib/session/get-server-session";
|
||||
import { revalidatePath } from "next/cache";
|
||||
|
||||
export async function removeChat({ id, path }: { id: string; path: string }) {
|
||||
const session = await getServerSession();
|
||||
const session = await auth();
|
||||
|
||||
const userId = session?.user?.email;
|
||||
if (!userId || !id) {
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { serialize } from 'cookie';
|
||||
import { createSession } from '@/lib/session/create';
|
||||
import { encryptJWECookie } from '@/lib/cookies/encrypt-jwe';
|
||||
import ms from 'ms';
|
||||
import { userSessionCookieName } from '@/lib/session/constants';
|
||||
|
||||
export const runtime = 'edge';
|
||||
|
||||
const sharedTokenSecret = process.env.SHARE_TOKEN_ENDPOINT_SECRET;
|
||||
const cookieTTL = ms('1y');
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
const { origin, searchParams } = req.nextUrl;
|
||||
const shareableToken = searchParams.get('shareableToken');
|
||||
|
||||
if (!sharedTokenSecret || !shareableToken) {
|
||||
// TODO: Make an error page
|
||||
return NextResponse.json({ error: 'Invalid request' }, { status: 500 });
|
||||
}
|
||||
|
||||
const query = new URLSearchParams({
|
||||
sharedTokenSecret,
|
||||
});
|
||||
|
||||
const response = await fetch(
|
||||
`https://api.vercel.com/user/tokens/shared/${shareableToken}?${query.toString()}`
|
||||
);
|
||||
|
||||
const { token } = (await response.json()) as { token: string };
|
||||
|
||||
const session = await createSession(token);
|
||||
|
||||
const cookieValue = await encryptJWECookie(session, '1y');
|
||||
const next = req.cookies.get('auth-next')?.value;
|
||||
|
||||
return NextResponse.redirect(new URL(next ?? '/', origin), {
|
||||
headers: [
|
||||
[
|
||||
'set-cookie',
|
||||
serialize(userSessionCookieName, cookieValue, {
|
||||
path: '/',
|
||||
maxAge: cookieTTL / 1000,
|
||||
expires: new Date(Date.now() + cookieTTL),
|
||||
httpOnly: true,
|
||||
secure: process.env.NODE_ENV !== 'development',
|
||||
}),
|
||||
],
|
||||
// There's currently an issue with adding more than one cookie to a response: https://github.com/vercel/next.js/issues/46579
|
||||
// the `auth-next` cookie will expire in 10 min anyway
|
||||
// [
|
||||
// 'set-cookie',
|
||||
// serialize('auth-next', '', {
|
||||
// path: '/api/auth/callback',
|
||||
// maxAge: 0,
|
||||
// expires: new Date(),
|
||||
// httpOnly: true,
|
||||
// })
|
||||
// ]
|
||||
],
|
||||
});
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { serialize } from 'cookie';
|
||||
|
||||
export const runtime = 'edge';
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
const { origin } = req.nextUrl;
|
||||
|
||||
const next = req.nextUrl.searchParams.get('next');
|
||||
|
||||
const params = new URLSearchParams({
|
||||
redirectUrl: new URL('/api/auth/callback', origin).toString(),
|
||||
});
|
||||
|
||||
return NextResponse.redirect(
|
||||
`https://vercel.com/api/vercel-auth?${params.toString()}`,
|
||||
{
|
||||
headers: next
|
||||
? {
|
||||
'Set-Cookie': serialize('auth-next', next, {
|
||||
path: '/api/auth/callback',
|
||||
maxAge: 60 * 60 * 10,
|
||||
httpOnly: true,
|
||||
}),
|
||||
}
|
||||
: undefined,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
import { userSessionCookieName } from '@/lib/session/constants';
|
||||
import { serialize } from 'cookie';
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
|
||||
export const runtime = 'edge';
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
const { origin, searchParams } = req.nextUrl;
|
||||
const next = searchParams.get('next');
|
||||
|
||||
return NextResponse.redirect(new URL(next ?? '/', origin), {
|
||||
headers: [
|
||||
[
|
||||
'set-cookie',
|
||||
serialize(userSessionCookieName, '', {
|
||||
path: '/',
|
||||
maxAge: 0,
|
||||
expires: new Date(),
|
||||
httpOnly: true,
|
||||
secure: process.env.NODE_ENV !== 'development',
|
||||
}),
|
||||
],
|
||||
],
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue