如何在没有注册页面的情况下在 mongodb 中使用 bcrypt 散列密码?

Posted

技术标签:

【中文标题】如何在没有注册页面的情况下在 mongodb 中使用 bcrypt 散列密码?【英文标题】:How to hash a password with bcrypt in mongodb without a page for registration? 【发布时间】:2021-01-26 00:03:59 【问题描述】:

我有问题。我想直接在我的 mongodb 中使用 bcrypt 注册一个用户(没有客户端的 UI,我想直接使用查询来管理它)并从客户端使用 REST API 登录。有没有可能?

谢谢!

【问题讨论】:

【参考方案1】:

当然,您可以让 Node API 运行,然后向您使用 Postman 定义的端点发送 POST 请求,例如:

// Routes file. Import this file later in your app.js or index.js file
const express = require('express');
const router = express.Router(); 
/*   ..... also import any user model, file, etc....*/


router.post('/signup', (req,res,next)=>
     const username = req.body.username;
     const password = req.body.password;

     bcrypt
        .hash(password, 12) 
        .then(hashedPassword => 
            /* Your MongoDB logic. Example below */

            const user = new User( // Example if you had a User Model
            email: email,
            password: hashedPassword
          );
          return user.save();
        )
        .then(result => 
        // To be more RESTful this should send the whole user in JSON              format after creation**
            res.status(201).json( message: 'User created!'); 
        )
      )
    .catch(err => 
    // Error logic. This is just an example
        if (!err.statusCode) 
            err.statusCode = 500;
        
        next(err);
    );
);

module.exports = router;

为了更清楚,您也应该有一个controllers 文件。如果您还想要登录,那么逻辑将是类似的,创建一个端点,然后使用 Postman 或其他一些应用程序发送请求。

【讨论】:

@LawrenceCherone 是的!你是完全正确的,我错过了。编辑了答案

以上是关于如何在没有注册页面的情况下在 mongodb 中使用 bcrypt 散列密码?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改剃须刀页面中注册页面的身份错误

网页布局——注册页面的居中对齐

用于设置多步骤注册页面的最佳ViewController是什么?

12月11日,12月12日登陆注册页面的进度

注册页面的servlet

7月2日 Django注册页面的form组件