Architektur für login-system auf der MEAN-stack?

Ich bin der Entwicklung einer web-app auf dem MEAN-stack (MongoDB, Express, AngularJS und node.js). Entwickle ich ein login-system, und auch einige der Eckigen Strecken geschützt, damit nur eingeloggte Nutzer darauf zugreifen können. Ich versuche zu denken, der beste Weg der Annäherung an die Architektur dieses.

Ich denke da an den aktuellen workflow:

  • Benutzer meldet sich in der via AngularJS form, die sendet eine http-POST an eine Express-Endpunkt. Der Endpunkt validiert die Benutzer für die Datenbank und antwortet mit einer OAuth-token sowie einen cookie. Beide befinden sich in der mongo-Datenbank für eine spätere überprüfung.
  • Einmal AngularJS erhält die login Antwort, speichert es die empfangenen cookie mit ng-cookies und speichert die OAuth-token in der Benutzer-service.
  • Jedes mal wechselt die route in AngularJS nun, der Benutzer-service wird verwendet, um sicherzustellen, dass das cookie ist noch legitim, durch Vergleich mit cookies in der mongo-Datenbank (dies wäre ein API-Aufruf mit Winkel ' s lösen... würde dies einen spürbaren lag?)
  • Wenn ein Benutzer klickt auf "log out" oder der cookie abläuft, wird die cookie-und OAuth-token sind beide aus der Datenbank gelöscht und nicht mehr gültig.

Ist dieser Ansatz sinnvoll? Ist es sicher, und es ist relativ effizient/schnell in der Ausführung?

InformationsquelleAutor Jakemmarsh | 2013-10-04
Schreibe einen Kommentar