0

背景:我们已经有一个基于 madhums Node Express Mongoose Demo的服务器。它使用本地护照和加密(以及 Facebook,但不重要) - 并将密码加盐到数据库中。但是这个服务器需要 cookie 和 _csrf。发布 csrf 很容易,但我试图避免 cookie 和会话。所以我正在从头开始构建一个新服务器来访问与 Web 服务器相同的 mongoDB。

我正在尝试为移动应用程序做一个无会话的 RESTful 界面。

这个问题的原因我不清楚这样的应用程序(多个 IDE/平台)是否支持“curl --user”中可用的相同功能,但我知道如何生成 POST 至少用于概念证明。

passport-http 'basic' 示例包含以下代码:

app.get('/',
   // Authenticate using HTTP Basic credentials, with session support disabled.
   passport.authenticate('basic', { session: false }),
   function(req, res){
    res.json({ username: req.user.username, email: req.user.email });
   });

解释了如何使用这个 curl 示例进行测试:

curl --user bob:secret http://127.0.0.1:3000/

如何更改 passport-http 'basic' 示例代码以接受 POST 中的用户名/密码,以允许这种 curl 请求?

curl -X POST -d 用户名=bob -d 密码=secret http://127.0.0.1:3000/

我相信我要问的是如何更改 passport/express/node.js/etc 代码以使用 req.body 与标头进行身份验证(我的理解有限)。

虽然赞赏和鼓励最佳实践建议,但如果您的回答没有回答上述具体问题,请明确说明。

4

0 回答 0