大家好,我尝试在密码模型中使用哈希,但如果我尝试保存新用户,adonis 向我发送此错误:
错误:找不到模块“phc-argon2”
我在 adonis 的官方文档中找到了但我没有找到一些解决方案......
这是我的模型:
import { DateTime } from 'luxon'
import { BaseModel, column, beforeSave, hasOne, HasOne } from '@ioc:Adonis/Lucid/Orm'
import Hash from '@ioc:Adonis/Core/Hash'
import Profile from 'App/Models/Profile'
import Myvericode from 'App/Models/Myvericode'
export default class User extends BaseModel {
@column({ isPrimary: true })
public id: number
@column.dateTime({ autoCreate: true })
public createdAt: DateTime
@column.dateTime({ autoCreate: true, autoUpdate: true })
public updatedAt: DateTime
@column()
public name : string
@column()
public username : string
@column({ serializeAs: null })
public password : string
@column()
public phonenumber:string
@column()
public email : string
@column()
public isverifiedemail : number
@hasOne(() => Profile)
public profile: HasOne<typeof Profile>
@hasOne(() => Myvericode)
public vericode: HasOne<typeof Myvericode>
@beforeSave()
public static async hashPassword (user: User) {
if (user.$dirty.password) {
user.password = await Hash.hash(user.password)
}
}
}Run Code Online (Sandbox Code Playgroud)
小智 5
里面config/hash.ts有你要使用的加密器的安装步骤。在这里您可以设置您的驱动程序: default: Env.get('HASH_DRIVER', 'bcrypt')
然后您可以简单地安装所需的驱动程序
氩气2
npm install phc-argon2
对于 bcrypt
npm install phc-bcrypt
对我有用
文档中有关于重大更改的注释:
早些时候,argon2 和 bcrypt 驱动程序依赖于以下软件包。
@phc/argon2
@phc/bcrypt
Run Code Online (Sandbox Code Playgroud)
然而,这些软件包没有得到积极维护,并且存在一些安全漏洞。我们将它们分叉并发布为 phc-bcrypt 和 phc-argon2。因此,请确保从应用程序中删除旧的依赖项,转而使用新的依赖项。
更多信息:https ://preview.adonisjs.com/releases/core/preview-rc-1_7/#hash
如果您受到影响,请检查您的 adonis 5(特别是核心和授权)版本
| 归档时间: |
|
| 查看次数: |
2325 次 |
| 最近记录: |