Использование OAuth для среды разработки и производства

Я видел другие вопросы на SO об этом (Вот,Вот, а такжеВот), но я не удовлетворен ни одним из решений, поэтому я спрашиваю его снова. Я запускаю веб-приложение, которое будет использовать OAuth от нескольких провайдеров (Google, Facebook, Twitter, Yahoo) для аутентификации. Я изо всех сил пытаюсь найти конфигурацию, подходящую для использования как в локальной среде разработки, так и в производственной среде.

Ведущие решения I 'мы обнаружили, что должны регистрировать несколько приложений у каждого провайдера, получая разные потребительские ключи и секреты для каждого: "

My App Production " - с URI обратного вызоваhttp://www.myapp.com/callback»

My App Development " - с URI обратного вызоваhttp://local.myapp.com/callback

Добавьте запись в ваш локальный файл hosts, чтобы указатьlocal.myapp.com в127.0.0.1 и какая-то конфигурация для вашего приложения, чтобы использовать правильные потребительские ключи в зависимости от среды, и вы готовы идти дальше, верно?

Но мое приложениеотзывчивый и мне нужно протестировать мою среду разработки, запущенную на моем ПК, с нескольких других устройств, таких как iPhone и iPad, ни одно из которых не сможет разрешить URI обратного вызова разработки.

Позволять'скажем, у меня уже есть DNS-сервер в моей сети, и я могу добавить запись дляlocal.myapp.com там вместо моего локального файла hosts и теперь могу получить доступ к моему экземпляру разработки с любого устройства в сети.

Но моя команда разработчиков работает в одной локальной сети. Сейчасlocal.myapp.com указывает на один и тот же IP для всех. Позволять'Вернемся к настройке файла hosts для каждого разработчикакомпьютер, так что все они могут работать независимо от их рабочей станции. Теперь никто не может снова протестировать свой экземпляр разработки со своего iPhone. Вряд ли для каждого разработчика правильным решением будет зарегистрировать приложение у провайдера, чтобы он мог указать уникальный URI обратного вызова.

Обычно, когда я зацикливаюсь на сорняках со сложным решением, казалось бы, простой проблемы, это обычно означает, что яЯ делаю что-то в корне неправильно. Я что-то упускаю из-за OAuth, разве он не предназначен для такого использования? У меня возникает соблазн полностью отказаться от OAuth и просто пойти с OpenID (регистрация приложения не требуется, и я могу указать URI обратного вызова из приложения), но затем я теряю двух важных игроков в Facebook и Twitter. Я нене нужно никого из пользователейданные, этопросто приятно иметь, если этодоступно. Может кто-нибудь отговорить меня обратно в OAuth?

Ответы на вопрос(3)

Ваш ответ на вопрос