我正在使用带有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控制台中添加了https URI。
请注意,我仅使用HTTPS(安全!),由于某种原因,Everyauth会将URL中的https替换为http。
我认为这可能是因为我在
app.use(everyauth.middleware());
语句之后创建了https服务器。但是我该如何重写代码,以便everyauth不会忽略https?创建https服务器后,是否可以将
app.use(everyauth.middleware());
语句移动到某个地方?提前致谢!
最佳答案
通过添加以下内容,我可以在Facebook auth上解决此问题:
everyauth.facebook.myHostname('https://www.example.com')