import { Member } from '../models';
import { MemberRepository} from '../repositories';
import {inject, Context} from '@loopback/context';
export class MemberController {
constructor(
@repository(MemberRepository) private memberRepository: MemberRepository,
@Inject('utilities.PasswordHasher') private passwordHasher: PasswordHasher,
) { }
}得到了这个错误.
src/控制器/成员.控制器.65:27:65-错误TS2304:无法找到名称'PasswordHasher‘。 27 @Inject('utilities.PasswordHasher')私有passwordHasher: PasswordHasher is :27:65-错误TS4063:导出类构造函数的参数'PasswordHasher‘具有或正在使用私有名称'passwordHasher’。 27 @Inject('utilities.PasswordHasher')私有passwordHasher: PasswordHasher
我可以使用哪个模块?.
发布于 2019-01-20 19:27:24
我就是这样做的
import {Entity, model, property} from '@loopback/repository';
const crypto = require('crypto');
@model()
export class User extends Entity{
[...]
@property({
type: 'string',
required: false
})
private hashedPassword: string;
@property({
type: 'string'
})
private salt: string;
set password(password: string){
if(!this.salt || !this.salt.length){
this.salt = crypto.randomBytes(32).toString('hex');
}
this.hashedPassword = this.encryptPassword(password);
}
private encryptPassword(password: string) {
return crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
};
public checkPassword(password: string) {
return this.encryptPassword(password) === this.hashedPassword;
};
}https://stackoverflow.com/questions/54256665
复制相似问题