Files
playable-showcase/server/routes/auth.js
HPL-JesusCastro 183704b40a update login
2026-05-26 16:29:54 +08:00

26 lines
660 B
JavaScript

const express = require('express');
const crypto = require('crypto');
const router = express.Router();
function makeToken(password) {
return crypto.createHmac('sha256', password).update('showcase-session').digest('hex');
}
router.post('/login', (req, res) => {
const { password } = req.body;
const expected = (process.env.SHOWCASE_PASSWORD || '').trim();
if (!expected) {
return res.status(500).json({ error: 'Server not configured' });
}
if (!password || password !== expected) {
return res.status(401).json({ error: 'Invalid password' });
}
res.json({ token: makeToken(expected) });
});
module.exports = { router, makeToken };