2

Facebook 認証を使用するアプリケーションを作成しましたが、localhost から実行すると期待どおりに動作します。ただし、アプリケーションを OpenShift にデプロイし、正しいドメイン名でテストした後、サーバーはユーザーを保存しません。

開発中の Facebook 設定: 1

本番環境での Facebook 設定: 2

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 では、ドメインが追加されます。何か考えはありますか?

4

1 に答える 1

2

問題は、本番モードcallbackURLでのFacebookStrategyでした。

正しい構成は次のとおりです。

clientID:     process.env.FACEBOOK_ID || 'id',
clientSecret: process.env.FACEBOOK_SECRET || 'secret',
callbackURL:  '/auth/facebook/callback'
于 2014-08-14T13:45:00.453 に答える