【问题标题】:Rails, Devise and lockbox error: could not find Argon2Rails、设计和密码箱错误:找不到 Argon2
【发布时间】:2020-02-11 22:09:37
【问题描述】:

我正在尝试使用密码箱 gem 来加密设计用户电子邮件:https://ankane.org/securing-user-emails-lockbox。我添加了密码箱和blind_index gem,运行迁移(根据https://github.com/ankane/lockbox 使用文本字段:email_ciphertext,例如:

def change
    # encrypted data
    add_column :users, :email_ciphertext, :text

    #blind index
    add_column :users, :email_bidx, :string
    add_index :users, :email_bidx, unique: true

    #drop the original user email column
    remove_column :users, :email
end

并更新了我的用户模型:

encrypts :email, key: "0000000000000000000000000000000000000000000000000000000000000000"
blind_index :email, key: "0000000000000000000000000000000000000000000000000000000000000000"

但是,当我尝试创建新用户时,出现错误:Users::RegistrationsController#create 中的 LoadError 找不到 Argon2。

我已尝试添加 gem Argon2,但无法修复错误。 我的 gem 文件包括:

gem 'lockbox' 
gem 'blind_index'
gem 'argon2' , '>= 2'

我正在使用

ruby --version:ruby 2.6.1p33(2019-01-30 修订版 66950)[x86_64-linux] 和 rails -v:Rails 5.0.7.2

argon2 提供的捆绑信息

* argon2 (2.0.2)
    Summary: Argon2 Password hashing binding
    Homepage: https://github.com/technion/ruby-argon2
    Path: /home/csbarton/.rvm/gems/ruby-2.6.1/gems/argon2-2.0.2

Lockbox 在 Rails 控制台中工作以加密/解密字符串,但是当我运行以下控制台命令时:

n = User.new
n.email="test@email.com"

我得到了错误:

NoMethodError (undefined method `argon2id_hash_raw' for Argon2::KDF::FFI:Module)

任何想法为什么我无法创建新用户? 谢谢!

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    这是一个错误,已在 0.1.2 版本中修复(来源:我的维护者)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多