2013-01-18 20 views
0

我使用Mashery的iodocs作为我的REST API的开发人员前端。我的API使用Node/Express编写,并使用PassportJS对用户进行身份验证(本地策略)。我的实现需要用户使用/ login端点,传入用户名和密码。然后,Passport将用户序列化为cookie,以便后续请求不需要登录。Mashery IODocs - 它可以支持来自我的REST API的passportjs认证吗?

使用iodoc时,Passport设置的cookie(“connect.sid”)不会在后续请求中传回。

有没有办法做到这一点?有没有IODocs支持的认证方法可以这样工作?

+0

顺便说一句 - 我运行在localhost iodocs:3001,我的REST本地主机上的API:3000。我怀疑Cookie不能在不同的端口之间传递 - 我将设置nginx作为代理并重试。 –

回答

1

Cookies将穿过端口。您可能遇到的问题是,“connect.sid”也由I/O Docs设置,因为它使用Express session.js中间件模块,因此Cookie值可能会被覆盖。

尝试更新I/O文件app.js与会话初始化一个cookie名称 - 设置 “键” 值:

app.use(express.session({ 
    secret: config.sessionSecret, 
    key: 'iodocs.connect.sid', 
    store: new RedisStore({ 
     'host': config.redis.host, 
     'port': config.redis.port, 
     'pass': config.redis.password, 
     'maxAge': 1209600000 
    }) 
}));