Я использую Sorcery для аутентификации, и мне нужно настроить стороннюю аутентификацию в ее инициализаторе.
Инициализатор имеет строку, которая выглядит следующим образом:
config.twitter.callback_url "http://example.dev/auth/callback?provider=twitter"
... где example.dev
- имя хоста, когда я использую Pow в локальной разработке. Это должно быть example.com
, если приложение работает, или staging.example.com
, если оно находится в стадии подготовки и т. Д.
Я хотел бы установить эту строку примерно так:
config.twitter.callback_url "#{Rails.hostname}/auth/callback?provider=twitter"
... но request.host
- единственный известный мне метод, который знает об этом и доступен только на уровне контроллера.
Я могу использовать условный тест и вручную настроить имя хоста для каждой среды, но, поскольку я тестирую в разных локальных и промежуточных средах, было бы здорово просто установить это программно.
Есть предложения?