我正在构buildFacebook连接应用程序,我使用omniauth进行身份validation。
我通过在Nginx上使用Passenger来服务我的应用程序。 出于某些原因,我想使用Passenger Standalone来运行应用程序。
它工作正常,当我去/auth/facebook
它正常去facebook并请求许可。 但是当它进入callbackurl时,url就是意想不到的!
http://xyz.com:12148/auth/facebook/callback
如何弄清楚redirect到一个没有端口号的url..使处理进行得很顺利!
Nginxconfiguration
upstream xyz_upstream { server unix:/tmp/xyz.socket; } server { listen 80; server_name xyz.com; root /home/deploy/apps/rails3/xyz/public; location / { proxy_pass http://xyz_upstream; proxy_set_header Host $host; } }
应用程序运行良好,但这是我唯一的问题!
你应该看看这个: 覆盖omniauth回调url
从上面张贴的链接使用以下的工作
(在config / initializers / omniauth.rb中)
OmniAuth.config.full_host = "http://practicallygreen.com"
我的工作方式是在每个环境中设置一个名为DOMAIN的全局变量。 它可以在所有环境中工作,以便每次更换环境时都不会中断或需要更改。 我的例子如下
(在config / initializers / omniauth.rb中)
OmniAuth.config.full_host = DOMAIN
(在config / environments / production.rb中)
DOMAIN = "http://xyz.com"
(在config / environments / staging.rb中)
DOMAIN = "http://staging.xyz.com"