Facebook身份validation无法正常工作(部署在OpenShift上)

我构build了一个使用Facebook身份validation的应用程序,并在从本地主机运行时按预期工作。 但是,将应用程序部署到OpenShift并使用正确的域名进行testing后,服务器不会保存用户。

开发中的Facebook设置: 1

生产中的Facebook设置: 2

OpenShift设置:

rhc set-env FACEBOOK_ID=id -a <appname-id> rhc set-env FACEBOOK_SECRET=secret -a <appname-secret> 

在文档上说,我需要添加这个,但它不起作用: 您还需要设置DOMAIN环境variables

 rhc config:set DOMAIN=<appname>.rhcloud.com 

我重新启动服务器,但始终如一:

 rhc app-restart -a <appname> 

我会很感激任何build议,甚至对我应该问什么问题有任何想法。


更新1

所以我检查日志和GET的唯一区别是:

OpenShift

 GET /auth/facebook 302 3ms - 510b GET /<appname>.rhcloud.com/auth/facebook/callback?code=XXXXXX 200 5ms 

本地主机

 GET /auth/facebook 302 10ms - 444b GET /auth/facebook/callback?code=XXXXXXXX 302 1360ms - 58b 

在OpenShift上它添加了域,有什么想法?

问题是FacebookStrategy的生产模式的callbackURL

正确的configuration是:

 clientID: process.env.FACEBOOK_ID || 'id', clientSecret: process.env.FACEBOOK_SECRET || 'secret', callbackURL: '/auth/facebook/callback'