Facebook身份validation无法正常工作(部署在OpenShift上)
我构build了一个使用Facebook身份validation的应用程序,并在从本地主机运行时按预期工作。 但是,将应用程序部署到OpenShift并使用正确的域名进行testing后,服务器不会保存用户。
开发中的Facebook设置:
生产中的Facebook设置:
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'