首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Everyauth.js在8月1日的请求中失败

Everyauth.js在8月1日的请求中失败
EN

Stack Overflow用户
提问于 2012-10-03 18:15:15
回答 1查看 348关注 0票数 0

背景:我使用nginx作为快速服务器的反向代理来处理SSL。我使用所有的软件包来处理facebook oauth。Redis用于会话存储。

Problem:在第一个auth请求中,每个人都会在getAccessToken auth步骤上超时。在第二个auth请求中,它将完成所有步骤并返回。

,特别是:我一直在执行过程中,每个人都在getAccessToken步骤中使用请求包。请求使用https模块发出一个永不返回的请求(永远不会执行回调)。

代码语言:javascript
运行
复制
var express = require('express')
  , RedisStore = require('connect-redis')(express)
  , everyauth = require('everyauth')
  , Promise = everyauth.Promise
  , app = express.createServer()
  , authConfig = require('./auth_config');

// Configure server to allow reverse proxy (nginx) to handle SSL requests
app.enable('trust proxy');
app.set('env', process.env.npm_package_config_env);

//everyauth config
everyauth.facebook
    .appId(authConfig.facebook.appId)
    .appSecret(authConfig.facebook.appSecret)
    .redirectPath(authConfig.facebook.redirectPath)
    .scope(authConfig.facebook.scope)
    .popup(true)
    .findOrCreateUser(function(session, accessToken, accessTokExtra, fbUserMetadata){
        ...
    });

app.configure(function(){
    // Check if behind secure reverse-proxy
    app.use(require('./middleware/secureProxyCheck')());
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({
        secret: 'imnottelling', 
        store: new RedisStore({ host: "127.0.0.1", port: "6379" }),
        cookie: { secure: true }
    }));
    //WARNING: do not change the order of everyauth and router
    app.use(everyauth.middleware());
    app.use(app.router);
    app.use(require("./middleware/dynamicCacheHeaders")("sha256"));
});

/*app.get app.listen beyond this point*/

版本

  • 节点: 0.8.8
  • 特快: 2.5.10
  • 连接-红色: 1.4.4
  • Everyauth: 0.3.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 21:16:50

这个问题实际上与上面提到的任何事情无关。造成这个问题的原因是我没有仔细阅读daemon.node上的文档。在第一次运行时,任何操作都不起作用,因为它们都与之前的节点不再运行的进程绑定在一起。很难调试,但很容易修复(阅读文档)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12714402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档