Express 3.0 + Everyauth + HTTPS

我正在使用expression式3和everyauth为google oauth的nodejs。

实现如下所示:

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(){ // ... }); 

现在,当我去到谷歌loginpath它说:

请求中的redirectURI: http://localhost:4545/loggedin与注册的redirectURI不匹配

这是正确的,因为我只在google api控制台中添加了httpS URI。

请注意,我正在使用HTTPS(secure!),并且由于某种原因,everyauth会用httpreplace我的url中的https。

我想这可能是因为我在app.use(everyauth.middleware());之后创build了https服务器app.use(everyauth.middleware()); 声明。 但是,如何重写代码,以便everyauth不会忽略https?

有没有移动app.use(everyauth.middleware());的可能性app.use(everyauth.middleware()); 在创buildhttps服务器之后的地方声明?

提前致谢!

我可以通过添加以下内容来解决Facebook上的这个问题auth:

 everyauth.facebook.myHostname('https://www.example.com')