【问题标题】:Error: Cannot find module 'phc-argon2' Adonis Js错误:找不到模块 'phc-argon2' Adonis Js
【发布时间】:2020-09-17 20:30:21
【问题描述】:

大家好,我尝试在密码模型中使用哈希,但如果我尝试保存新用户,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)
    }
  }

}
我尝试 npm i phc-argon2 但不工作 我使用Linux操作系统,感谢您的回答

【问题讨论】:

  • 你能分享你的package.json
  • 您需要确保在完成后重新启动服务器。我确实有同样的问题 npm install 和 restart 现在一切正常。

标签: node.js adonis.js


【解决方案1】:

config/hash.ts中有安装你要使用的加密器的步骤。 在这里您可以设置您的驱动程序: default: Env.get('HASH_DRIVER', 'bcrypt') 那么您可以简单地安装所需的驱动程序

对于argon2 npm install phc-argon2

对于 bcrypt npm install phc-bcrypt

对我有用

【讨论】:

    【解决方案2】:

    文档中有重大更改的注释:

    之前 argon2 和 bcrypt 驱动程序依赖于以下软件包。

    @phc/argon2
    @phc/bcrypt
    

    但是,这些软件包没有得到积极维护,并且存在一些安全漏洞。我们已经将它们分叉并发布为 phc-bcrypt 和 phc-argon2。因此,请确保从您的应用程序中删除旧的依赖项以支持新的依赖项。

    更多:https://preview.adonisjs.com/releases/core/preview-rc-1_7/#hash

    如果您受到影响,请检查您的 adonis 5(特别是核心和授权)版本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-03
      • 2020-10-02
      • 2020-01-20
      • 2019-12-24
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多