Melden Sie sich mit Facebook oauth, ohne vollen Zugang facebook.com

8

Eine Webanwendung, die ich gerade entwickle, benötigt Benutzer, die sich über Facebook OAauth anmelden können. Das Problem ist jedoch, dass sich all diese Benutzer hinter einer Firewall befinden, die den Zugriff auf facebook.com (Unternehmensrichtlinie) blockiert. Wir haben uns verschiedene Lösungen angesehen, um dies zu umgehen, wie:

  • Setzen Sie einen (squid) Proxy zwischen Facebook und den Benutzern. Dies könnte das Problem lösen, da squid feinkörnige Regex-basierte ACLs unterstützt. Die meisten Facebook-OAuth-Strategien laufen jedoch auf www.facebook.com und die Überprüfung von PATH_INFO auf die Whitelist bestimmter Pfade ist nicht möglich, wenn die Benutzer HTTPS verwenden (was zwingend erforderlich ist).
  • Hinzufügen einer Proxy-ähnlichen Site in der DMZ der Firewall, die die URLs / Facebook-Anfrage einfach passiert und ändert. Dies ist offensichtlich auch nicht der richtige Weg, da dies bedeuten würde, dass Nutzer ihre Anmeldedaten auf unserem Server hinterlassen, was gegen die Facebook-Bedingungen verstößt.
  • Lockern Sie die Firewall etwas auf, um nur IP-Adressen zu aktivieren, die für die OAuth-Authentifizierung benötigt werden, aber soweit wir herausfinden konnten, gibt es keine dedizierte IP oder Subdomain nur für die Authentifizierung (es wäre schön, wenn graph.facebook.com würde so etwas bieten).

Irgendwelche Ideen für alternative Lösungen? Ist das überhaupt möglich?

    
sborsje 24.01.2012, 22:52
quelle

1 Antwort

3

Nein, weil der OAuth-Prozess Login für die API funktioniert, indem der Benutzer an eine HTTPS-URL gesendet wird facebook.com wird es Ihnen nicht möglich sein, einfach zwischen dem Traffic zu unterscheiden, der benötigt wird, um den Login für Ihre App einzurichten, und anderen Traffic auf Facebook.com

Sie haben das gleiche Problem, wenn Sie versuchen, einen Facebook-Nutzer mithilfe eines sozialen Plugins wie dem Like-Button zu bestätigen - Sie können den Traffic für das Plug-in und anderen Traffic nicht einfach auf facebook.com aufteilen.

    
Igy 15.02.2013 01:18
quelle