如何在Devise.rb中管理不同的APP_id,APP_KEY。对多个子域使用Devise omniauth?
答案 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重定向时,您可以重定向到相应的子域。