2011-10-20 13 views
17

Sto usando Facebook SSO nella mia app iOS e funziona perfettamente. Ora vorrei usare quell'informazione - l'utente che si sta verificando contro facebook con il suo uid - sul mio server back-end. Ma come posso - in modo sicuro - passare queste informazioni al server?utilizzare l'autorizzazione del client iOS di Facebook sul proprio server

La mia ipotesi è che avrei bisogno di inviare l'uid e probabilmente il authToken che ho ricevuto da facebook al mio server? Qualcuno potrebbe tracciare un approccio generale a questo?

Anche se non dovrebbe essere importante per la mia domanda, il mio server sta eseguendo binari e ideato per l'autenticazione. Ho anche login di Facebook che ci lavora separatamente, ma voglio usare l'autenticazione già fatta dal client sul server. Confusione ...

risposta

35

Mi sono imbattuto in this post che mi ha aiutato a capire il problema e la soluzione.

Correggimi se si verificano problemi.

L'idea è di passare il token auth all'app rails. Il token di autenticazione funziona solo se entrambe le app utilizzano la stessa app secret.

Quindi il flusso è così:

  1. iOS autenticazione. Prendi il token di autenticazione di Facebook dell'utente e invia all'app per i binari.
  2. L'app per rails prende il token auth, lo invia a graph.facebook.com/?auth_token=XXX. La risposta dovrebbe essere un oggetto json dell'utente.
  3. Prendere la risposta dell'oggetto utente per trovare l'UID e confrontarlo con un utente nel database. Se UID non esiste, crea un nuovo utente e imposta il nuovo UID.
+0

Grazie per il post! Mi chiedo perché non l'ho fatto da solo perché fondamentalmente risponde esattamente alla mia domanda. – Dennis

+6

Questo è in pratica lo Stack Overflow. – jgthms

Problemi correlati