【发布时间】:2016-11-07 22:27:34
【问题描述】:
我目前正在开始使用 Sails.js,并且我想将用户帐户添加到我的玩具应用程序中,因此我安装了创建基于 Passport 的用户身份验证系统的“sails-auth”包。我可以通过发送POST /user 创建新用户,我可以使用POST /auth/local 登录。
文档说:
通过带有参数标识符(电子邮件)和密码的 POST 到 /auth/local 使用本地策略进行身份验证。这也将创建一个会话。有关更多信息,请参见 passport.local。
但是,当我尝试 GET /user/me 时,它会路由到一个控制器操作,该控制器操作应该在会话中返回当前用户,而页面却给出了一个空响应。为什么会这样?我是否缺少某种配置步骤?
顺便说一句,我没有更改或弄乱sails-auth 包。它仍然是全新的; “我”动作如下所示:
me: function (req, res) {
res.ok(req.user);
}
编辑:我通过搜索sails-auth repo 中的问题找到了一个临时解决方法。您可以从req.session.passport.user 获取字符串用户ID,而不是从req.user 获取用户对象。
【问题讨论】:
标签: javascript node.js sails.js passport.js