我正在使用Mashery的iodocs作为REST API的开发人员前端。我的API是用Node/Express编写的,并使用PassportJS对用户进行身份验证(本地策略)。我的实现要求用户使用/loginendpoint,传入用户名和密码。然后,Passport在一个cookie中序列化用户,这样后续请求就不需要登录了。
使用iodocs时,Passport设置的cookie(connect.sid“)不会在后续请求中传递回。
有办法做到这一点吗?是否存在IODocs支持的以这种方式工作的身份验证方法?
Cookie将遍历端口。您可能会遇到的一个问题是,“connect.sid”也是由I/O文档设置的,因为它使用的是Express Session.js中间件模块,所以cookie值可能会被覆盖。
尝试在会话初始化器中使用不同的cookie名称更新I/O文档app.js--设置“key”值:
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
})
}));