owltide/generate-keys.mjs

22 lines
564 B
JavaScript
Raw Permalink Normal View History

/*
SPDX-FileCopyrightText: © 2025 Hornwitser <code@hornwitser.no>
SPDX-License-Identifier: AGPL-3.0-or-later
*/
import webPush from "web-push";
const vapidKeys = webPush.generateVAPIDKeys();
const cookieSecretKey = Buffer.from(
await crypto.subtle.exportKey(
"raw",
await crypto.subtle.generateKey(
{ name: "HMAC", hash: "SHA-256" }, true, ["sign", "verify"]
)
)
).toString("base64url");
console.log(`\
NUXT_PUBLIC_VAPID_PUBLIC_KEY=${vapidKeys.publicKey}
NUXT_VAPID_PRIVATE_KEY=${vapidKeys.privateKey}
NUXT_COOKIE_SECRET_KEY=${cookieSecretKey}
`);