作为node.js的后端开发人员,我是一个初学者,我有责任构建一个restapi来处理乒乓球比赛。
问题是其中一个前提要求用户身份验证。我正在使用mysql(测试的前提之一)并将其续写为orm。
我用sequelize定义了一个用户模型,就像这样
const { hashSync, genSaltSync } = require('bcrypt-nodejs');
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
name: DataTypes.STRING,
email: DataTypes.STRING,
password: DataTypes.STRING
}, {
onDelete: 'CASCADE',
hooks: {
beforeCreate(user) {
const salt = genSaltSync(10);
user.password = hashSync(user.password, salt);
},
}
});
User.associate = function({ Match, Tournament }) {
this.hasMany(Match, { as: 'matches', onDelete: 'CASCADE' });
this.belongsToMany(Tournament, { foreignKey: 'userId', through:'User_Tournament', as: 'tournaments', onDelete: 'CASCADE' });
};
return User;
};
因为我需要一个基于令牌的策略*来处理用户的传入请求,所以我想要一些关于如何将这些信息很好地存储到数据库中的建议。我考虑过一个用户令牌表,但不知道这是否是一个好的选择。
- 不需要用户会话,但需要在响应头中设置令牌。
欢迎提出各种建议。
谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!