Warum protokolliert mein Server keine Anmeldesitzung?JavaScript

Javascript-Forum
Anonymous
 Warum protokolliert mein Server keine Anmeldesitzung?

Post by Anonymous »

Für einen Kontext: Ich versuche, ein grundlegendes Anmeldesystem zu erstellen. Im Moment funktioniert die Anmeldung ohne Probleme. Die Anmeldung in auch in Ordnung zu sein, so ist es ordnungsgemäß eine Verbindung mit der Datenbank - das große Problem ist jedoch, dass das Login selbst nicht gespeichert/erkannt wird. Ich sehe kein Cookie oder etwas anderes, das darauf hinweist, dass der Server die Anmeldung erkennt. Ich arbeite in NodeJs und das Backend wird auf meinem VPS (laufende Ubuntu) gehostet. Der Versuch, einige Ratschläge von Chatgpt zu erhalten, hat leider nicht wirklich geholfen. API/Login gibt ein 200 OK mit der Antwort von {"Erfolg": True} zurück. API/auth-Check hingegen gibt eine nicht geänderte 304 zurück und gibt ein {"loggedin": false} zurück. Ich habe sichergestellt, dass ich meinen Frontend-Code eincheckte, dass jeder Abruf in Richtung API/Auth-Check und API/Login berechtigt ist: '. Es hat auch mit einer anderen Logik zu tun, die ich auf der Website mache, bei der der Benutzer angemeldet wird, um bestimmte Funktionen/Aufgaben auszuführen.

Code: Select all

app.post('/api/login', async (req, res) => {
try {
const { email, password } = req.body;
if (!email || !password) {
return res.status(400).json({ error: 'Missing email or password' });
}

const [rows] = await db.query(
'SELECT user_id, password FROM users WHERE email = ?',
[email]
);

if (!rows.length) {
return res.status(401).json({ error: 'Invalid email or password' });
}

const user = rows[0];

if (user.password !== password) {
return res.status(401).json({ error: 'Invalid email or password' });
}

req.session.userId = user.id;
return res.json({ success: true });

} catch (error) {
console.error('Login error:', error);
return res.status(500).json({ error: 'Server error' });
}
});
Und hier ist meine API/auth-Check:

Code: Select all

app.get('/api/auth-check', async (req, res) => {
if (!req.session.userId) {
return res.json({ loggedIn: false });
}

try {
const [rows] = await db.query(
'SELECT email FROM users WHERE user_id = ?',
[req.session.userId]
);

if (!rows.length) {
return res.json({ loggedIn: false });
}

return res.json({
loggedIn: true,
email: rows[0].email,
});

} catch (error) {
console.error('Auth check error:', error);
return res.status(500).json({ error: 'Server error' });
}
});

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post