我正在尝试构建一个可以在 client.domain.com 访问的单页 Web 应用程序。我在 api.domain.com 上公开了 web 服务 api(移动应用程序客户端也可以访问)。
使用护照我已经实施了本地、基本和不记名身份验证策略。在使用 curl 进行测试时,它们似乎运行良好。
虽然在 API 调用中提供“access_token”对于移动和 curl 来说效果很好,但对于 Javascript Web 客户端来说实现起来会很痛苦。我正在考虑将 access_token 存储在会话/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});
});