2012-01-24 11 views
8

Un'applicazione Web attualmente in sviluppo richiede che gli utenti possano accedere tramite Facebook OAauth. Comunque il problema è che tutti questi utenti sono dietro un firewall che blocca l'accesso a facebook.com (politica aziendale). Abbiamo esaminato diverse soluzioni per aggirare questo problema, come;Accedi con Facebook oauth, senza accesso completo su facebook.com

  • Inserire un proxy (calamaro) tra Facebook e gli utenti. Questo potrebbe risolvere il problema dal momento che il calamaro supporta ACL basati su regex a grana fine. Tuttavia, la maggior parte della strategia OAuth di Facebook viene eseguita su www.facebook.com e l'ispezione di PATH_INFO per autorizzare percorsi specifici non è possibile se gli utenti utilizzano HTTPS (che è obbligatorio).
  • Aggiunta di un sito simile a proxy nella DMZ del firewall, che passa e altera semplicemente la richiesta url/Facebook. Questo ovviamente non è il modo di procedere perché significherebbe sostanzialmente che gli utenti lasciano le loro credenziali sul nostro server, il che è contrario ai termini di Facebook.
  • Allentare il firewall un po 'per abilitare solo gli indirizzi IP necessari per l'autenticazione OAuth, ma per quanto abbiamo potuto scoprire non esiste un IP o sottodominio dedicato solo per l'autenticazione (sarebbe bello se graph.facebook.com fornirebbe qualcosa come questo).

Qualche idea per soluzioni alternative? È addirittura possibile?

+1

"Qualche idea per soluzioni alternative?" Se Facebook è parte integrante della tua app che stai creando, il tuo manager dovrebbe essere in grado di far sì che i membri della rete pongano un'eccezione alle regole del firewall. La mia azienda utilizza il filtro per ruolo e per utente. Quindi solo quelli in un certo ruolo ottengono Facebook così come alcuni utenti che sono sovrascritti e ottengono comunque accesso. – DMCS

+0

Anche se possibile attraverso una serie di hack, sarà incline a rompere le cose in quanto Facebook è una società in rapido movimento e una piattaforma di sviluppo, e le cose cambiano, a volte sorprendentemente spesso. Sarebbe potenzialmente una soluzione fragile, e non riesco ad immaginare molta più frustrazione di avere un'app di successo con molti utenti che un giorno all'improvviso non potranno più utilizzare il tuo sito. – spotman

+0

Che dire di consentire l'URL facebook.com/dialog/oauth nel firewall? – chesles

risposta

3

No, perché il processo OAuth Login per l'API funziona inviando l'utente a un URL HTTPS su facebook.com non sarà possibile distinguere facilmente tra il traffico necessario per configurare l'accesso all'app e al traffico su Facebook.com

Avrete lo stesso problema cercando di verificare un utente di Facebook utilizzando un plug-in sociale come il pulsante Mi piace - non è possibile separare facilmente il traffico per il plug-in e altro traffico su facebook.com

Problemi correlati