Ich führe gerade eine Node.js-Anwendung, mit einer API und Dateien dienen (ich weiß nginx könnte damit umgehen, aber ich sollte es nicht zuerst verwenden).Basic Auth und JWT
Ich verwende es einfach, um eine einfache grundlegende Auth zu haben, die nicht so einfach ist.
Hier ist meine nginx config:
upstream nodejsapp {
server 127.0.0.1:1337;
keepalive 15;
}
server {
listen 80 default_server;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_redirect off;
location/{
proxy_pass http://nodejsapp;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
Die /etc/nginx/.htpasswd
Datei ist nur user:encryptedpassword
und gut ist.
Mit dieser Konfiguration, wenn ich zu meinem IP gehen es:
- fragt mich, den Benutzer und das Passwort
- startet die Seite zu laden
- (manchmal) fragt wieder für Benutzer und Passwort
- beendet, um die Seite
So weit so gut, auch wenn es zweimal das Passwort gefragt.
Die Node.js App hat eine JWT-Authentifizierung, wenn ich mich anmelde, lädt die Website neu und von hier aus fragt es unbegrenzt nach dem Benutzer und Passwort (Basic Auth), solange ich auf Login klicke. Das JWT befindet sich in meinem lokalen Speicher. Wenn ich in der Basisauthentifizierung auf "Abbrechen" klicke, wird der JWT gelöscht und ich werde abgemeldet. Er fragt erneut nach der Basisauthentifizierung.
Dies ist in Chrome. Bei Firefox und Safari wird nach der JWT-Protokollierung das Token automatisch aus dem lokalen Speicher gelöscht (und ich bin ausgeloggt).
Es ist ziemlich schwierig zu erklären, und ich kann Ihnen die Website nicht zeigen. Kurz gesagt, das Hauptproblem ist, dass die JWT (der node.js App) gelöscht wird.
Ich bin mir nicht sicher, es ist möglich, Grund Auth zu mischen und JWT. Ich kann mich irren, aber so weit ich weiß, verwenden beide Methoden den 'Authorization'-Request-Header, also ist es nicht verwunderlich, dass sie konfus sind. – Curious
Ja, nach einigen Untersuchungen bestätige ich, dass es das Problem sein könnte – Cohars
Denke nicht, dass ich irgendeine Lösung dafür finden kann. – Cohars