Ho un'app mobile che funziona con il server di back-end, vorrei capire quali sono le migliori pratiche per usando Facebook per accedere (creare un account) e quindi per mantenere l'intero sistema sincronizzato.Qual è il modo giusto per accedere a Facebook per l'applicazione mobile (con server node.js/passport.js)
Ecco quello che ho capito finora: - app per dispositivi mobili può fare il login sul dispositivo e ottenere l'access_token - token di accesso può essere trasferito al server. Ho fatto un proof of concept usando il token passport-facebook collegato ad alcuni api.myhost.com/auth/facebook route, e sembra di poter autenticare l'utente e recuperare i suoi dati FB. Quindi posso abbinarlo a un utente esistente nel mio database o creare un nuovo record.
Cosa non capisco: 1) Devo utilizzare https per trasferire il token FB sul mio server?
2) Cosa devo fare per le altre richieste che devono essere autenticate. Non penso che andare su FB per ogni richiesta sia un'opzione. Un'opzione che viene in mente è quella di generare un altro token di accesso (il mio) e restituirlo come risultato dell'autenticazione FB.
Il modo più semplice per farlo è utilizzare le sessioni di token passaporto-facebook (in modo che l'ID sessione cookie possa essere serializzato e de-serializzato nell'ID utente). Ma questo significa che ho bisogno di mantenere un po 'di spazio di archiviazione KV per le sessioni.
Un altro modo sarebbe generare il mio token casuale per quell'utente, restituirlo insieme all'ID utente all'accesso riuscito, memorizzarlo nel record utente e fare in modo che ciascuna chiamata API del client fornisca questa coppia id/token e riconvalidarla ogni volta manualmente senza fare affidamento sul passaporto. O forse forse basandoti sulla strategia locale del passaporto?
Quale è il migliore? Quali sono i pro/contro di ciascuno?
2) Se si prevede di utilizzare il token FB per la pubblicazione su FB e l'analisi del grafico (amici, ecc.), I sto pianificando di memorizzare il token sul server. Quanto spesso devo aggiornarlo? Ogni volta che l'app avvia e aggiorna un token sul client dovrei autenticarmi nuovamente con il mio server usando un nuovo token FB? Che ne pensi di aggiornare i token FB utente dalle chiamate server-to-server? Dovrei mai farlo se voglio mantenere l'accesso ai dati FB dell'utente, ma l'utente ha smesso di usarlo o lo usa troppo di rado?
Esiste da qualche parte un libro di cucina di uno schema di lavoro che funzioni bene?
Grazie!
Hai mai trovato qualcosa di utile qui? – SJoshi