daphnis/auth/components/signout.ts

26 lines
546 B
TypeScript
Raw Normal View History

2024-06-29 05:22:22 +00:00
'use server';
import { cookies } from 'next/headers';
import { redirect } from 'next/navigation';
import { lucia } from '@/lib/lucia';
import { getAuth } from '../queries/getauth';
export const signOut = async (_formData: FormData) => {
const { session } = await getAuth();
if (!session) {
redirect('/');
}
await lucia.invalidateSession(session.id);
const sessionCookie = lucia.createBlankSessionCookie();
cookies().set(
sessionCookie.name,
sessionCookie.value,
sessionCookie.attributes
);
redirect('/');
};