2017-11-13 4 views
-2

Ich benutze Angular 4 als Frontend und MongoDB für die Datenbank. Ich habe Express verwendet, um API zu erstellen. Jetzt muss ich alle APIs außer Login authentifizieren und registrieren, um zu verhindern, dass nicht autorisierte Benutzer die API erreichen.Was ist der beste Weg, um Express API zu authentifizieren?

Ich bin neu zu dieser Art der Authentifizierung und ich fand viele Methoden wie pass.js, jwt usw. Ich bin sehr verwirrt, um die beste Methode zur Authentifizierung zu wählen. Also geben Sie bitte einige Eingaben, um das Beste zu wählen.

Hinweis: Die Anwendung bezieht sich nicht auf finanzielle Projekte. Es erfordert also kein hohes Sicherheitsniveau.

+1

Wenn es nicht ein hohes Maß an Sicherheit erfordert, warum kümmert es dich, welche ist die beste? Wähle einfach was du willst. – JJJ

+0

Was interessiert dich? Wie definierst du "am besten"? – Paul

Antwort

0

Sie könnten versuchen, Json Web Tokens

Für NodeJS zu implementieren, gibt es eine npm Paket namens verfügbar nJwt. Sie können es mit npm installieren.

Anwendungsbeispiel (verkürzt):

var njwt = require('njwt'); 
if (loginSuccessful) { 
    var payload = { 
         iss: 'your_domain_name', 
         iat: Math.round((Date.now()/1000)), 
         // Set expiration date to now +7200 seconds 
         exp: Math.round((Date.now()/1000)) + 7200, 
         username: username, 
         ip: ip 
       } 
    var token = njwt.create(payload,your_super_secret_key,'HS512').compact()); 
} else { 
// Login not successful, don't give key 
} 

Sie können das Token an den Benutzer senden, und dann verwenden sie es mit jeder Anfrage (zum Beispiel).

Mit dieser Konfiguration ist das Token für 7200 Sekunden oder 2 Stunden gültig.

Verwandte Themen