1

Express 3 で nodejs を使用し、google oauth には everyauth を使用しています。

実装は次のようになります。

everyauth.google 
/* snip */
.callbackPath('/loggedin');

var app = express();
app.configure(function(){
  /* snip */
  app.use(everyauth.middleware());
}

var server = https.createServer(sslOptions, app);
server.listen(app.get('port'), function(){
// ...
});

Googleログインパスに移動すると、次のように表示されます。

リクエストのリダイレクト URI:http://localhost:4545/loggedin登録されたリダイレクト URI と一致しませんでした

Google api コンソールに httpsS URI のみを追加したため、これは正しいです。

私は HTTPS (セキュア!) のみを使用しており、everyauth は何らかの理由で URL の https を http に置き換えていることに注意してください。

app.use(everyauth.middleware());これは、ステートメントの後に https サーバーを作成しているためだと思います。しかし、everyauth が https を無視しないようにコードを書き直すにはどうすればよいでしょうか。

app.use(everyauth.middleware());https サーバーの作成後にステートメントをどこかに移動する可能性はありますか?

前もって感謝します!

4

1 に答える 1

1

以下を追加することで、Facebook認証でこの問題を回避できました。

everyauth.facebook.myHostname('https://www.example.com')
于 2013-07-09T18:59:05.947 に答える