Attualmente sto eseguendo un'applicazione Node.js, con un'API e file che servono (so che nginx potrebbe gestirlo, ma non dovevo usarlo all'inizio).Basic Auth e JWT
Lo sto semplicemente usando per avere un'autenticazione di base semplice, il che sembra non essere così semplice.
Ecco il mio 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;
}
}
Il file /etc/nginx/.htpasswd
è solo user:encryptedpassword
ed è buono.
Con questa configurazione, quando vado al mio IP è:
- mi chiede l'utente e la password
- inizia a caricare la pagina
- (a volte) chiede ancora una volta per l'utente e la password
- termina per caricare la pagina
Fin qui tutto bene, anche se chiedeva il doppio della password.
L'app Node.js ha un'autenticazione JWT, quando accedo, il sito web si ricarica e da qui, richiede a tempo indeterminato l'utente e la password (autenticazione di base), a patto che clicchi sul login. Il JWT è nella mia memoria locale. Se faccio clic su annulla sul prompt di autenticazione di base, il JWT viene eliminato e sono disconnesso, e ... chiede di nuovo l'autenticazione di base.
Questo è su Chrome. Con Firefox e Safari, dopo la registrazione JWT, cancella automaticamente il token dalla memoria locale (e sono disconnesso).
È piuttosto difficile da spiegare e non posso mostrarti il sito web. In breve, il problema principale è che il JWT (dell'app node.js) viene cancellato.
io non sono sicuro che sia possibile mescolare autenticazione di base e JWT. Potrei sbagliarmi ma, per quanto ne so, entrambi i metodi usano l'header di richiesta 'Authorization', quindi non sorprende che stiano configgendo. – Curious
Sì, dopo alcune ricerche, confermo che potrebbe essere il problema – Cohars
Non credo di poter trovare alcuna soluzione per questo. – Cohars