Sto cercando di incorporare l'autenticazione di Facebook nella mia applicazione. Il mio primo sforzo è stato quello di accedere al browser e ottenere il codice. Trasmetto questo codice alla mia API e ottengo il token di accesso (che rimane con il server) e instrado tutte le mie richieste a FB Api attraverso il mio server. Sembrava totalmente sicuro per me dato che il mio cliente non ha informazioni per poter effettuare chiamate autorizzate a FB come mia app.
Tuttavia, ho cercato FB Javascript SDK per evitare di scrivere codice per l'apertura e la chiusura di un dialogo e ho notato che mi permette di getLoginStatus
e mi restituisce il token di accesso. Inoltre, ho esaminato i flussi di autenticazione FB nella loro documentazione e dicono che il flusso ibrido client-server è ok per fare in modo che il server dia effettivamente "token di accesso a lungo termine" al client e mi consiglia di usare HTTPS (giusto). p>
Ora tutto questo mi fa pensare se questo è un problema di sicurezza. Non posso io come un potenziale hacker iniettare qualche javascript nella pagina web dell'utente che potrebbe a) creare un getLoginStatus
e ottenere il token di accesso o
b) solo ottenere il token di accesso effettuando una richiesta al mio api server e ottieni il token di accesso
e poi usalo per postare (assumendo che l'utente abbia autorizzato la mia app a farlo) su Facebook come se la mia app lo stesse facendo?
Sono un principiante della sicurezza e forse trascuro un sacco di cose qui ma qualcuno potrebbe aiutarmi a capire cosa mi manca?
Grazie in anticipo!
PS: so che posso aumentare la sicurezza per assicurarmi di aver bisogno dell'app secret ogni volta che voglio fare una richiesta che il cliente non può fare in quanto tali informazioni non saranno mai disponibili sul lato client.