Ich verstehe den Unterschied zwischen Passport.js Basic und Digest-Authentifizierung, aber was ist der Unterschied zwischen der lokalen Strategie und Basic oder Digest? In allen drei geben Sie einen Benutzernamen und ein Passwort ein. Ist die Basic-Strategie eine Art von Benutzer & Passwort-Authentifizierung? Bitte klären Sie.Was sind die Unterschiede zwischen lokalen Basic und Digest-Strategie in Passportjs
Antwort
Wenn ich richtig verstehe, sind die Unterschiede zwischen den lokalen, Basic und Digest Strategien in Passport.js subtil, aber wichtig. Hier ist der Überblick:
Lokale (passport-local)
Passport lokale Strategie ist ein einfaches Benutzername und Passwort-Authentifizierungsschema. Es findet das Passwort eines bestimmten Benutzers aus dem Benutzernamen (oder einer anderen Kennung) und überprüft, ob sie übereinstimmen. Der Hauptunterschied zwischen der lokalen Strategie und den beiden anderen Strategien besteht in der Verwendung von dauerhaften Anmeldesitzungen. Diese Strategie sollte über SSL/TLS verwendet werden.
Grund (passport-http)
Die von Passport implementiert grundlegende Strategie sieht fast identisch mit der lokalen Strategie, mit einem feinen Unterschied. Die grundlegende Strategie besteht darin, API-Endpunkte zu verwenden, bei denen die Architektur zustandslos ist. Als Ergebnis sind Sitzungen nicht erforderlich, aber kann verwendet werden. Diese Strategie sollte auch SSL/TLS verwenden. Die Session-Flag kann wie so eingestellt werden:
app.get('/private', passport.authenticate('basic', { session: false }), function(req, res) {
res.json(req.user);
});
Digest (passport-http)
Der Digest-Strategie ist auf subtile Weise anders als die beiden anderen Strategien, dass sie mit Hilfe eines speziellen Challenge-Response-Paradigma, um Vermeiden Sie das Senden des Passworts im Klartext. Diese Strategie wäre eine gute Lösung, wenn SSL/TLS nicht verfügbar wäre.
Dies ist ein guter Artikel auf Basis vs. Digest: How to Authenticate APIs
Hinweis: Alle drei Strategien Session-Unterstützung optional machen. Die beiden Pass-http-Strategien können Sie die Session-Flag setzen, während der Passport docs sagen, in Bezug auf die Pass lokale Strategie:
Beachten Sie, dass Session-Unterstützung ermöglicht völlig optional ist, obwohl es für die meisten Anwendungen empfohlen.
Wenn Sie die Passport Lokale Strategie: - eine Sitzung aufgebaut wird, so dass Sie bei jeder Anfrage nicht creds schicken müssen; - Benutzername und Passwort sind standardmäßig in den Kopfzeilen "username" und "password" angegeben; Wenn Sie die Passport Basic/Digest-Strategien verwenden: - eine Sitzung wird nicht verwendet, daher müssen Sie die Anmeldeinformationen bei jedem API-Aufruf angeben - Benutzername und Passwort/Hash sind im Header "Authorization" enthalten;
- 1. Was sind die Unterschiede zwischen VBA 6.0 und VBA 7.0?
- 2. Was sind die Unterschiede zwischen & und &&, | und || in R?
- 3. Was sind die Unterschiede zwischen zweien?
- 4. Was sind die Unterschiede zwischen Karma Reportern?
- 5. Was sind die Unterschiede zwischen HasOne und Referenzen in Nhibernate?
- 6. Was sind die Unterschiede zwischen ADOdb und PDO in PHP?
- 7. Was sind die Unterschiede in JIT zwischen Java und. NET
- 8. Was sind die Unterschiede zwischen ConcurrentQueue und BlockingCollection in .Net?
- 9. Was sind die Unterschiede zwischen Funktionen und Subroutinen in Fortran?
- 10. Was sind die Unterschiede zwischen [Serializable] und [Serializable()]
- 11. Was sind die Unterschiede zwischen maxJsonLength und MaxJsonDeserializerMembers?
- 12. Graph - Was sind die Unterschiede zwischen eingebetteten und topologischen Graphen?
- 13. Was sind die aktuellen Unterschiede zwischen jQuery und Prototype?
- 14. Was sind die Unterschiede zwischen @dynamic und @synthesize?
- 15. Was sind die größten Unterschiede zwischen fopen und curl?
- 16. Was sind die Unterschiede zwischen "./Build.sbt" und "./Project/build.sbt"?
- 17. Was sind die Unterschiede zwischen FLAG_ACTIVITY_RESET_TASK_IF_NEEDED und FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP?
- 18. Was sind die Unterschiede zwischen MPI und OpenMP?
- 19. Was sind die Unterschiede zwischen Perl und Java Regex-Funktionen?
- 20. Was sind die praktischen Unterschiede zwischen Fliegengewicht und Singleton-Mustern?
- 21. Was sind die Unterschiede zwischen R.styleable, R.style und R.attr?
- 22. Was sind die Unterschiede zwischen Opera Unite und Node.js?
- 23. Was sind die Unterschiede zwischen tcmalloc/jemalloc und Speicherpool
- 24. Was sind die Unterschiede zwischen struct_time und datetime?
- 25. Was sind die Unterschiede zwischen Model, ModelMap und ModelAndView?
- 26. Was sind die Unterschiede zwischen Surfaceview und TextureView?
- 27. Was sind die Unterschiede zwischen g ++ Version 4.0.0.8 und 4.3.2?
- 28. Was sind die Unterschiede zwischen TFS, SVN und GIT?
- 29. Was sind die Unterschiede zwischen dem leeren Objekttyp und Objekt?
- 30. Was sind die Unterschiede zwischen Brillengläsern und Reißverschlüssen? Diese
"Die grundlegende Strategie ist mit API-Endpunkten verwendet werden, wo die Architektur zustandslos ist" - was meinst du mit Staatenlosen? Kannst du ein paar Beispiele geben?Wenn ich die Dinge richtig verstehe, geht es bei der lokalen Strategie nur um "Wenn Sie bereits Benutzersitzungen unterstützen, zum Beispiel um temporäre Variablen pro Sitzung zu speichern, identifiziert das Cookie die Sitzung bereits und es ist sinnlos, den Benutzernamen und das Passwort jedes Mal zu senden ". – Oren
Die grundlegende Strategie verwendet die "Authentifizierung" Header für die Authentifizierung siehe https://github.com/jaredhanson/passport-http/blob/master/lib/passport-http/strategies/basic.js#L68 – Vadim
@Vadim Vielen Dank !! ! Du rettest mein Leben :) –