2015-01-24 12 views
5

Lasciatemi dire che mi piace molto Deployd. Voglio usarlo in produzione, ma voglio incorporare OAuth e accessi social, quindi ho installato il modulo dpd-passport. E le grandi opere, ad eccezione di due piccole (grandi) problemi:Distribuito: Come implementare dpd-passport e autenticarsi in modo sicuro

  1. Quando un utente accede tramite un provider di OAuth (ad esempio Facebook, Twitter, Github) viene creato un nuovo record utente ... ma se lo stesso utente cancella i loro cookie o utilizza un browser diverso per accedere, viene creato un nuovo record utente.
  2. Se faccio qualcosa di intelligente (leggi: hacky) e assegno agli utenti con accessi social un ID basato sul socialAccount e socialAccountId (qualcosa di unico ma costante per ogni account social), qualcuno potrebbe usare il metodo standard di creazione dell'utente per falsificare un utente effettuando una richiesta POST all'endpoint /users se sapevano che socialAccount dell'utente e socialAccountId.

La mia domanda è: Come posso A) impediscono # 1 si verifichi, o B) disabilitare il metodo standard di creazione dell'utente senza anche prevenire la creazione utente OAuth?

Qualcuno ha mai utilizzato con successo Deployd e dpd-passport in produzione? Se è così, voglio parlare con voi ...

Grazie in anticipo!

+1

Mi piacerebbe avere un tutorial sull'utilizzo di dpd-passport troppo. – vpx

risposta

0

Prima di tutto, penso che tu non abbia aggiunto i campi personalizzati per i documenti. https://www.npmjs.com/package/dpd-passport#requirements

non avevo neanche, e osservato la nuova funzione utente (perché non poteva occhiata la risposta dal servizio di autenticazione per trovare l'utente da prima). L'aggiunta di questi campi l'ha risolto.

Inoltre, v'è un gruppo Google qui: https://groups.google.com/forum/#!forum/deployd-users

Speranza che aiuta.

+0

Hey Seth, grazie per la risposta. Ho sicuramente aggiunto quei campi al record dell'utente, per i documenti, e ho pubblicato una domanda simile al forum dei gruppi di google, ma da allora ho smesso di usare Deployd per una serie di altri motivi. Potrebbe essere stato un bug specifico della versione, o qualcosa relativo al mio ambiente di sviluppo, ma non penso che lo rivedrò. –

+0

@ShaunScovil, hai sostituito il deployd con qualche altro BaaS? Mi piace molto il deployd e mi trovo nel mezzo dello sviluppo di un prodotto, ma i problemi si stanno verificando e lo sviluppo/la community attorno a deployd sembra scomparire ... –

+0

@LorenoOliveira Da quando ho smesso di usare Deployd, Ho sviluppato le mie API utilizzando Java/Jersey o Node/Express. Express ha la curva di apprendimento inferiore ed è ciò che Deployd usa credo. Se entrambe queste opzioni sono troppo avanzate (o anche se non lo sono), potresti voler guardare in LoopBack: https://strongloop.com/node-js/loopback-framework/ –