发布一个node密码加密的包

243 阅读1分钟

一、node-auth0主要提供的功能

  • 1、密码加密
  • 2、校验密码是否正确

二、包的使用

  • 1、安装

    npm install node-auth0
    

三、使用步骤

  • 1、导包

    import NodeAuth from 'node-auth0';
    
  • 2、实例化对象

    class User1Dao extends BaseDao {
      constructor() {
        super();
        /**
         * 关于NodeAuth构造函数说明
         * 1.可以不传递参数(默认是8位)
         * 2.可以传递参数(minLength, maxLength, 是否随机长度)
         */
        this.nodeAuth = new NodeAuth(8, 10, true);
      }
      ...
    }
    
  • 3、密码加密的方法makePassword

    ...
    async createUser(params) {
      try {
        const { name, password } = params;
        return await UserModel.create({
          name,
          password: this.nodeAuth.makePassword(password)
        });
      } catch (e) {
        throw e;
      }
    }
    
  • 4、校验密码的方法authenticate

    async login(params) {
      try {
        const { name, password } = params;
        const user = await UserModel.findOne({
          where: {
            name
          }
        });
        if (this.nodeAuth.authenticate(password, user.password)) {
          return user;
        } else {
          throw {
            msg: '登录错误',
            desc: '用户名与密码错误'
          };
        }
      } catch (e) {
        throw {
          msg: '登录错误',
          desc: '用户名与密码错误'
        };
      }
    }