Richieste server proxy inoltrate + inoltro delle informazioni di autenticazione in modo sicuro

2

Utilizziamo PassportJS con un paio di server Node.js - Passport è solo una libreria che è famosa per l'autenticazione del server Node.js - ma abbiamo alcune domande su come utilizzare Passport con le richieste "proxy". La mia domanda principale è come possiamo (e dovremmo assolutamente) inoltrare le intestazioni e i cookie nella richiesta originale alla richiesta inoltrata?

Ad esempio, facciamo una richiesta client-browser al server A che a sua volta invia una richiesta al server B: vogliamo che lo stesso client venga autenticato nello stesso modo su entrambi i server. Attualmente se il client Web inoltra una richiesta direttamente a entrambi i server, il client viene autenticato, ma se il client esegue l'autenticazione con A e quindi A invia una richiesta completamente nuova al server B, allora, ovviamente, questa seconda richiesta non contiene nessuna delle informazioni di autenticazione questo è necessario per autenticare il client sul server B.

Considerando che possediamo entrambi i server A e B, dovremmo semplicemente includere le intestazioni e i cookie dalla richiesta originale nella nostra richiesta dal server A al B?

è considerata una buona pratica? Qualsiasi informazione sarebbe utile, grazie

Ho fatto una domanda simile a Jared Hannson della fama di PassportJS:

link

Data una buona risposta qui, potrei copiarla laggiù

    
posta Alexander Mills 03.11.2015 - 02:30
fonte

1 risposta

2

Questa domanda è davvero una specifica per le tue esigenze aziendali.

In generale ciò che hai proposto è comunemente fatto. Sei sempre di fronte alla sfida di bilanciare usabilità e sicurezza. Prendi ad esempio Yahoo o Google. Ti autenticano una volta quindi memorizzano le informazioni in uno (o più) cookie che vengono passati ad altri siti con cui si integrano. Quindi guarda il portafoglio di Yahoo (quando era la cosa principale per il pagamento su Internet alla fine degli anni '90 e nei primi anni 2000), richiedeva un'altra autenticazione con credenziali diverse. Hanno pensato, e sono d'accordo, che questo pezzo della loro infrastruttura necessitava di uno strato aggiuntivo che proveniva dal resto. Cioè, non hanno fiducia le credenziali del sito principale.

Nota che né Google né Yahoo passano le password degli utenti sui loro siti o li memorizzano direttamente in cookie o database. Piuttosto, stabiliscono un sistema di verifica. Ad esempio, l'hash che diventa il cookie può contenere una serie di informazioni che identificano il client del browser, una frazione dell'indirizzo di origine, token di autorizzazione, ++++. Ci sono molti schemi sufficienti.

Quindi, la sicurezza del tuo sito richiede all'utente di eseguire l'autenticazione per entrambi i server A e B? Solo tu puoi rispondere a questo. Se la risposta è no, allora dovresti fidarti del risultato dell'autenticazione dal server A. Se la tua risposta è sì, autenticati in entrambi i punti.

    
risposta data 07.11.2015 - 17:05
fonte

Leggi altre domande sui tag