我正在尝试构建一个可在client.domain.com上访问的单页Web应用程序。我在api.domain.com上公开了webservice apis(也是由移动应用客户端访问)。
使用护照我已经实施了Local,Basic和Bearer身份验证策略。当用卷曲测试时,它们似乎运行良好。
虽然在API调用中提供'access_token'适用于移动和curl,但实现Javascript Web客户端将会很痛苦。我正在考虑将access_token存储在session / cookie中。这是否有意义还是会危及安全性?
我希望实现以下目标: 用户访问client.domain.com。提交登录表单,提交到api.domain.com/token。在成功验证后,我想在会话/ cookie中发送令牌。随后对api.domina.com的所有请求都将自动使用会话。
如果这看起来不错,我该如何解决这个问题 - 将从会话中读取令牌,并且不需要将access_token作为查询参数附加,即可进行承载身份验证。
passport.serializeUser(function(user, done) {
console.log("serializeUser: " + JSON.stringify(user));
done(null, "1234");
});
passport.deserializeUser(function(token, done) {
console.log("deserializeUser:"+ token);
// trying to set a parameter in the req object
done(null, {access_token:token});
});