make admin cookie name variable
All checks were successful
deploy / build-and-deploy (/testvaro, /opt/website-test, website-test) (push) Successful in 24s
deploy / build-and-deploy (/varo, /opt/website, website) (push) Successful in 23s

This commit is contained in:
2025-06-09 15:45:21 +02:00
parent eb45e03f16
commit b8ed48a68b
3 changed files with 8 additions and 6 deletions

View File

@ -2,9 +2,9 @@ import type { AstroCookies, AstroCookieSetOptions } from 'astro';
import { ActionError } from 'astro:actions';
import crypto from 'node:crypto';
import { Permissions } from './permissions.ts';
import { ADMIN_COOKIE } from 'astro:env/server';
export class Session {
static readonly #cookieName = 'muelleel';
static readonly #cookieOptions: AstroCookieSetOptions = {
httpOnly: true,
path: '/',
@ -28,7 +28,7 @@ export class Session {
for (let i = 0; i < Session.#sessions.length; i++) {
if (Session.#sessions[i] == this) {
Session.#sessions = Session.#sessions.splice(i, 1);
if (cookies) cookies.delete(Session.#cookieName, Session.#cookieOptions);
if (cookies) cookies.delete(ADMIN_COOKIE, Session.#cookieOptions);
break;
}
}
@ -38,13 +38,13 @@ export class Session {
const session = new Session(crypto.randomBytes(16).toString('hex'), adminId, permissions);
Session.#sessions.push(session);
cookies.set(Session.#cookieName, session.sessionId, Session.#cookieOptions);
cookies.set(ADMIN_COOKIE, session.sessionId, Session.#cookieOptions);
return session;
}
static sessionFromCookies(cookies: AstroCookies, neededPermissions?: Permissions) {
const sessionId = cookies.get(Session.#cookieName);
const sessionId = cookies.get(ADMIN_COOKIE);
if (!sessionId) return null;
for (const session of Session.#sessions) {
@ -60,7 +60,7 @@ export class Session {
}
static actionSessionFromCookies(cookies: AstroCookies, neededPermissions?: Permissions) {
const sessionId = cookies.get(Session.#cookieName);
const sessionId = cookies.get(ADMIN_COOKIE);
if (!sessionId) throw new ActionError({ code: 'UNAUTHORIZED' });
for (const session of Session.#sessions) {