zustand auf server wiederhergestellt
This commit is contained in:
30
auth.js
30
auth.js
@@ -9,6 +9,26 @@ const router = Router();
|
||||
// Initialize Discord users table
|
||||
initDiscordUsers();
|
||||
|
||||
// ===== Guest Login =====
|
||||
|
||||
// Create guest token (view-only, expires in 24h)
|
||||
router.post('/guest', (req, res) => {
|
||||
const guestId = 'guest_' + Date.now() + '_' + Math.random().toString(36).substring(2, 9);
|
||||
|
||||
const token = jwt.sign(
|
||||
{
|
||||
id: guestId,
|
||||
username: 'Gast',
|
||||
role: 'guest',
|
||||
isGuest: true
|
||||
},
|
||||
process.env.JWT_SECRET,
|
||||
{ expiresIn: '24h' }
|
||||
);
|
||||
|
||||
res.json({ token });
|
||||
});
|
||||
|
||||
// ===== Discord OAuth2 =====
|
||||
|
||||
// Start Discord OAuth2 flow
|
||||
@@ -99,6 +119,16 @@ router.get('/discord/callback', async (req, res) => {
|
||||
|
||||
// Get current user info
|
||||
router.get('/me', authenticateToken, (req, res) => {
|
||||
// Check if it's a guest user
|
||||
if (req.user.isGuest) {
|
||||
return res.json({
|
||||
id: req.user.id,
|
||||
username: req.user.username,
|
||||
role: req.user.role,
|
||||
isGuest: true
|
||||
});
|
||||
}
|
||||
|
||||
// Check if it's a Discord user
|
||||
if (req.user.discordId) {
|
||||
const user = db.prepare('SELECT id, discord_id, username, avatar, role FROM discord_users WHERE id = ?').get(req.user.id);
|
||||
|
||||
Reference in New Issue
Block a user