Alrigh, so habe ich einen vollständigen Pass lokale Genehmigung eingerichtet, funktioniert alles ziemlich perfekt, außer ich kann nicht scheinen, meinen Kopf um ein Problem mit pass.js zu wickeln.Passportjs extrahieren Benutzer von isAuthenticated Funktion
Ich autorisiere Benutzer durch Sitzungen (sie funktionieren gut), aber ich kann nicht scheinen, die Benutzerinformationen aus dieser Sitzung zu extrahieren, obwohl, wenn ich meine Sitzung db manuell überprüfen, für jede Sitzung gibt es eine Benutzer-ID (die Links an den Benutzer). Auch die Deserialize-Funktionen scheinen den Benutzer zurückzugeben, und das Protokoll zeigt den richtigen Benutzer an.
Jetzt ist das Problem, dass ich nicht scheinen kann, diesen Benutzer < -> Sitzungsinfo irgendwo in meinen Routen zu übergeben. Das Problem, das ich damit habe, ist, dass Leute, die eingeloggt sind, autorisiert sind, aber sie können mit der Anfrage Körper so viel tun, wie sie wollen, Dinge wie das Posten von Nachrichten in ihrem Namen tun, sie ausloggen, .. .
Beispiel-Code: in diesem Code
router.post('/games/:id/verify', isAuthenticated, function(req, res){
log('@POST verify for game with id: ' + req.params.id);
gameController.postVerify(req.params.id, req, res);
});
, prüft es nur, wenn ein Benutzer angemeldet ist, wenn möglich, ich die Benutzer so zu dieser Sitzung lesen will angemeldet sind, dass er kann dieses Spiel nicht verifizieren, wenn er nicht dabei war.
Angenommen, Benutzer A, B waren Teil des Spiels und müssen es überprüfen. Diese Funktion ermöglicht es dem angemeldeten Benutzer C, nach ihnen zu suchen, da diese Funktion nur prüft, ob der Benutzer angemeldet ist.
Wenn ich den angemeldeten Benutzer (Benutzer C im Testfall) an den gameController übergeben kann, Ich kann dort meine eigenen Schecks schreiben und sie rauswerfen.
Perfekte, klare und präzise Antwort. –
dann markieren Sie es als beantwortet .. :) – refactor