Meine App verwendet Express und AngularJS. Ich verwende Express, um grundlegende Web-Seving des Winkelcodes über statische zu behandeln. Der eckige Code verwendet Dienste, die auf von express gehostete API-Endpunkte treffen. Ich möchte nur, dass die API-Endpunkte zugänglich sind, nachdem sich ein Benutzer authentifiziert hat. Wie kann ich dies über PassportJS erreichen?
Ich habe ein Angular-Express Projekt auf Github hochgeladen, an dem ich gearbeitet habe.
Es ist noch in Arbeit. Ich hoffe es hilft.
Es verwendet PassportJs für die Benutzerauthentifizierung und ist ein grundlegendes Beispiel für die serverseitige Autorisierung. Es zeigt, wie API-Aufrufe nur für authentifizierte Benutzer oder nur für Benutzer mit Administratorrolle zugänglich gemacht werden. Dies wird in server/routes.js
erreicht, indem die Middleware-Funktionen ensureAuthenticated
und ensureAdmin
aufgerufen werden, die in server/authentication.js
in routes.js
%Vor%in authentication.js
%Vor%Ich benutze noch keine Pass-Passwörter, aber ich habe gerade das selbe gemacht, was Sie tun wollen. Hier ist meine Beispielkonfiguration:
%Vor%Hier habe ich eine Menge Code von: Ссылка , Ссылка
Hoffe, das hilft!
#BEARBEITEN
#Ich habe vergessen zu erwähnen, dass ich für die eckige Seite nur ein einfaches Formular habe, das die Werte für Benutzer und Passwort an den Endpunkt des Login-Posts zurückschickt, da der getEndpoint eingeschränkt ist und die Express-App den Rest der Authentifizierung und Beschränkung übernimmt Seite der Dinge für dich. Wenn ich Ihnen weiterhelfen kann, zögern Sie bitte nicht zu fragen.
Ich habe vor einiger Zeit einen Link zu dem Thema gefunden, der Ihnen vielleicht weiterhelfen kann. Es verwendet PassportJS nicht (und ich bin nicht so vertraut mit ihm, wie ich gerne wäre), aber Sie können sich über Express authentifizieren, das Sie bereits verwenden.
Scrollen Sie nach unten zum Abschnitt (der letzte im Artikel) zur Einzelrouten-Authentifizierung. Ich fand das Beispiel sehr geradlinig und ich glaube, dass Sie diese Methode (oder PassportJS) verwenden können, um die Route zu Ihrer API zu authentifizieren.
Link: NODE.JS UND EXPRESS - BASIS-AUTHENTIFIZIERUNG
Wenn Sie dies in PassportJS herausfinden, schreiben Sie bitte Ihre Ergebnisse zurück; Ich würde es gerne sehen. (Das ist auch der Grund, warum ich Ihre Frage abgestimmt habe).
Tags und Links angularjs express passport.js