nuxt-users
Version:
A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools
22 lines (21 loc) • 759 B
JavaScript
import { defineEventHandler, getCookie, setCookie } from "h3";
import { useRuntimeConfig } from "#imports";
import { useDb } from "../../../utils/db.js";
export default defineEventHandler(async (event) => {
const { nuxtUsers } = useRuntimeConfig();
const options = nuxtUsers;
const db = await useDb(options);
const personalAccessTokensTable = options.tables.personalAccessTokens;
const token = getCookie(event, "auth_token");
if (token) {
await db.sql`DELETE FROM {${personalAccessTokensTable}} WHERE token = ${token}`;
}
setCookie(event, "auth_token", "", {
httpOnly: true,
secure: process.env.NODE_ENV === "production",
sameSite: "lax",
maxAge: 0,
path: "/"
});
return { message: "Logged out successfully" };
});