rails,设计omniauth,多个app_id,app_secret

时间:2013-04-11 11:36:25

标签: ruby-on-rails devise omniauth

如何在Devise.rb中管理不同的APP_id,APP_KEY。对多个子域使用Devise omniauth?

1 个答案:

答案 0 :(得分: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将包含除www以外的所有子域(因为它是一个特殊的子域,因此您必须明确指定)

像往常一样使用app_id / secret。这将允许您的应用程序与Facebook进行通信,以便从任何子域(* .yourdomain.com和www.yourdomain.com)进行身份验证。

当用户尝试从A.yourdomain.com通过Facebook登录时,一个小问题是。用户在Facebook上成功登录后,他将被重定向到http://www.yourdomain.com/users/auth/facebook(您在“网站网址”字段中提供的内容),而不是A.yourdomain.com/users/auth/facebook

因此,当从OmniauthCallbacksController重定向时,您可以重定向到相应的子域。