Menu
CoddyTech

Eine Sitzung nachschlagen

Teil des Abschnitts Authentifizierung und Sicherheit der Node.js-Journey von Coddy. Lektion 9 von 24.

// tickets: {key: 'example-key', memberId: 7}
const ticket = tickets.find(t => t.key === receivedKey);
const member = ticket && members.find(m => m.id === ticket.memberId);

Gib keinen Benutzer zurück, wenn eine der beiden Suchabfragen keinen Treffer ergibt. Echte Sitzungs-IDs sind lange Zufallswerte, damit andere sie nicht erraten können; die kurzen Schlüssel hier machen die Beziehung leicht nachvollziehbar. Das folgende Projekt verwendet MongoDB-Sammlungen und findOne für diese beiden Suchabfragen anstelle von Arrays.

challenge icon

Aufgabe

Einfach

Verwende in exercise.js die bereitgestellten Arrays sessions und users. Suche die Sitzung für sid und dann den Benutzer, dessen ID mit userId übereinstimmt. Gib den Benutzernamen in user zurück oder null, falls eine der beiden Suchen fehlschlägt.

Probiere GET /result?sid=key-a aus: {"user":"ada"}. Ein Benutzername wie ?sid=ada beweist nichts und gibt null zurück. ?sid=orphan gibt ebenfalls null zurück, weil das zugehörige Konto fehlt.

Probier es selbst

const sessions = [
    { id: 'key-a', userId: 10 },
    { id: 'key-b', userId: 20 },
    { id: 'orphan', userId: 99 },
];
const users = [
    { id: 10, username: 'ada' },
    { id: 20, username: 'bo' },
];
export function exercise({ sid }) {
    return { user: sid };
}

Alle Lektionen in Authentifizierung und Sicherheit

Übe selbstständig: Express-Playground