2013-04-11 4 views
0

Как управлять различными APP_id, APP_KEY, в Devise.rb. используя Devise omniauth с несколькими поддоменами?рельсы, разработка omniauth, несколько app_id, app_secret

+0

Зачем вам это нужно? Разделить между разработкой и производством? – fotanus

+0

не для сплит-окружения, у меня разные поддомены (http: //cisco.lvh.me.com,http: //productleadership.lvh.me.com), я создал разные приложения для каждого субдомена в facebook. должны управлять различными APP_KEY & APP_ID в файле devise.rb. или вы можете сказать мне, как управлять этими ключами ...? –

+0

Это кажется немного сложным ... вы не можете полагаться на devise.rb, потому что он загружается на старте сервера, я думаю, что путь создает метод, который получает request.domain и правильно устанавливает ключ. Тем не менее, я не уверен, как устанавливать секреты «на лету». – fotanus

ответ

0

При создании приложения facebook для вашего приложения, заполнить детали, как показано ниже

BASIC INFO: 
Display Name: ... 
Namespace: ... 
Contact Email: .. 
App Domains: www.yourdomain.com yourdomain.com 

Website with Facebook Login: 
Site URL: http://www.yourdomain.com 

yourdomain.com в поле «App Domain» будет включать в себя все поддомены, кроме WWW (Как это специальный поддомен поэтому вы должны явно указать это)

Используйте app_id/secret, как обычно. Это позволит вашему приложению общаться в facebook для аутентификации из любого субдомена (* .yourdomain.com и www.yourdomain.com).

Один маленький улов заключается в том, что когда пользователь пытается войти в систему через facebook с сайта A.yourdomain.com. При успешном входе пользователя в facebook он будет перенаправлен на http://www.yourdomain.com/users/auth/facebook (то, что вы указали в поле «URL-адрес сайта»), а не A.yourdomain.com/users/auth/facebook

Итак, при перенаправлении с OmniauthCallbacksController, вы можете перенаправить на соответствующий субдомен.

+0

Он работает так же, как и для Twitter. – manoj

+0

Thnaks @manoj и все. это сработало для меня ... –

Смежные вопросы