Вход с помощью Facebook oauth, без полного доступа к facebook.com

Веб-приложение, которое я сейчас разрабатываю, нуждается в том, чтобы пользователи могли войти через Facebook OAauth. Однако проблема в том, что все эти пользователи находятся за брандмауэром, который блокирует доступ к facebook.com (политика компании). Мы рассмотрели несколько решений, чтобы обойти эту проблему, например:

  • Размещение (squid) прокси между Facebook и пользователями. Это могло бы решить проблему, поскольку squid поддерживает мелкозернистые ACL на основе regex. Однако, большая часть стратегии OAuth Facebooks работает на www.facebook.com, и проверка PATH_INFO для внесения в белый список определенных путей невозможна, если пользователи используют HTTPS (что является обязательным).
  • Добавление прокси-подобного сайта в DMZ брандмауэра, который просто передает и изменяет урлы/запросы Facebook. Очевидно, что это тоже не выход, поскольку это означает, что пользователи оставляют свои учетные данные на нашем сервере, что противоречит условиям Facebook.
  • Немного ослабить брандмауэр, чтобы просто разрешить IP-адреса, необходимые для аутентификации OAuth, но, насколько мы смогли выяснить, нет выделенного IP или поддомена только для аутентификации (было бы неплохо, если бы graph.facebook.com предоставил что-то подобное).

Есть идеи по поводу альтернативных решений? Возможно ли это вообще?

8
задан sborsje 24 January 2012 в 22:52
поделиться