2016-04-08 6 views
11

Ich versuche, einen Authentifizierungsdienst mit express.js zu erstellen, aber ich habe die Idee der Authentifizierungsmodule noch nicht verstanden.Was ist der Unterschied zwischen Pass und oauth?

Was ist der Unterschied zwischen Pass und OAuth Middleware? Sind sie voneinander abhängig? Ist es nutzlos, die BearerStrategy ohne einen OAuth-Server zu haben, um Token zur BearerStrategy Validate zu generieren? Bin ich auf dem richtigen Weg?

Ich habe über OAuth2 und seine Authentifizierung Flow gelesen, aber ich bin immer noch mit diesem entkoppelten Code verloren.

Ich versuche die Respess Owner Password Authentifizierung mit Refresh Token für meine AngularJS Frontend mit der Backend-API zu kommunizieren, und ich bin mit vielen Kombinationen von password.js Strategien konfrontiert (Basic, Bearer, ClientPassword) mit oauth2orize auf der anderen Seite.

So, ich möchte eine sehr einfache Erklärung der Funktionsweise der Authentifizierung auf NodeJS wissen. Eigentlich weiß ich, dass Express keine neue Art der Authentisierung erfindet, aber die Module sind zu unauffällig, sodass ich verstehen muss, wie es funktioniert, damit sie zusammenarbeiten.

Antwort

27

Passport ist eine Authentifizierungs-Middleware. OAuth ist Autorisierungs-Middleware.

den Unterschied zu verstehen:

Authentifizierung der Prozess der Ermittlung, dass jemand wirklich ist, der er vorgibt zu sein.

Die Autorisierung bezieht sich auf Regeln, die bestimmen, wer was tun darf. Z.B. Bob kann berechtigt sein, Datenbanken zu erstellen und zu löschen, während Bobbette nur zum Lesen berechtigt ist.

Mit anderen Worten. Authentifizierung ist Ihr Benutzername + Passwort. Autorisierung ist was du tun darfst.

Mit Passport können Sie den Benutzer authentifizieren, bevor Sie Zugriff auf Ihre API erhalten. Es ist nicht möglich (direkt, es ist möglich) zu überprüfen, ob ein Benutzer eine Aktion nach der Authentifizierung ausführen darf.

Überprüfen Sie diese Wikipedia für mehr auf Authentifizierung vs Autorisierung.

Was OAuth mit Passport nicht tut, ist, dass Benutzer Zugriff auf ihre persönlichen Daten gewähren können. Außerdem können Benutzer bestimmte Berechtigungen zulassen oder verbieten (Bereiche in OAuth).

Beachten Sie, dass es viele OAuth-Varianten gibt. Am häufigsten ist die Version mit Autorisierungsgewährungstypen, die bei der Autorisierung mit Facebook oder Google angezeigt werden. Aber es gibt viele andere, einschließlich der von Ihnen erwähnten Ressourcenbesitzer-Passwort-Strategie.

+2

Danke Mann! Ich habe nie etwas so Triviales wie den Unterschied zwischen Authentifizierung und Autorisierung bemerkt! Du bist genau zum Punkt meines Zweifels gegangen! Danke noch einmal! ;) –

Verwandte Themen