我已经通过工厂使用创建了用户
const工厂= use('工厂')
class UserSeeder {
async run () {
await Factory.model('App/Models/User').createMany(5)
}
}
module.exports = UserSeeder
我在工厂里
Factory.blueprint('App/Models/User', async (faker) => {
return {
first_name:faker.first(),
last_name:faker.last(),
username: faker.username(),
email: faker.email(),
profile_pic: faker.avatar({fileExtension: 'jpg'}),
password: await Hash.make("test"),
status: 1
}
})
我的身份验证控制器具有
class AuthController {
async login ({ request, auth }) {
const { email, password } = request.all();
await auth.attempt(email, password);
return {message:'Loggedin Successifully',status:true};
}
}
每当我尝试使用正确的电子邮件和密码测试登录时都会遇到错误
field: "password", message: "Invalid user password"
这是怎么回事,因为所有用户都是由工厂通过密码测试生成的
答案 0 :(得分:1)
用户模型具有用于哈希您的用户密码的钩, 并且您还在 Factory 中对密码进行哈希处理,因此,密码将永远与您的'test'密码不匹配。