【发布时间】:2014-10-05 10:28:37
【问题描述】:
我构建了一个使用 Facebook 身份验证的应用程序,它在从 localhost 运行时按预期工作。但是,在将应用程序部署到 OpenShift 并使用正确的域名对其进行测试后,服务器不会保存用户。
OpenShift 设置:
rhc set-env FACEBOOK_ID=id -a <appname-id>
rhc set-env FACEBOOK_SECRET=secret -a <appname-secret>
在文档中说我需要添加它,但它不起作用: 您还需要设置 DOMAIN 环境变量
rhc config:set DOMAIN=<appname>.rhcloud.com
我重新启动了服务器,但总是一样:
rhc app-restart -a <appname>
我将不胜感激任何建议,甚至任何关于我应该问什么问题的想法。
更新 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 上它会添加域,有什么想法吗?
【问题讨论】:
-
P.S.如何在生产环境中登录服务器以获取更多信息?
-
Facebook 要求应用程序通过 HTTPS 协议托管......但如果它在没有 SSL 的 localhost 中为您工作,那就太奇怪了
-
我也可以在本地主机上使用它(没有 SSL),可以设置它使其正常工作。我有兴趣看看它是否也适用于 openshift,但遗憾的是现在无法摆弄。
-
您在装备上的日志中看到了什么? help.openshift.com/hc/en-us/articles/202328880
标签: node.js openshift passport.js passport-facebook