Rails, Devise and lockbox error: could not find Argon2
Rails, Devise and lockbox error: could not find Argon2
我正在尝试使用密码箱 gem 来加密 Devise 用户电子邮件,按照:https://ankane.org/securing-user-emails-lockbox. I've added the lockbox and blind_index gem, run the migrations (with a text field for :email_ciphertext as per https://github.com/ankane/lockbox,例如:
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: Rails5.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 控制台中使用 encrypt/decrypt 字符串,但是当我 运行 以下控制台命令时:
n = User.new
n.email="test@email.com"
我收到错误:
NoMethodError (undefined method `argon2id_hash_raw' for Argon2::KDF::FFI:Module)
为什么我无法创建新用户有什么想法吗?
谢谢!
这是一个错误,已在 0.1.2 版本中修复(来源:维护者)
我正在尝试使用密码箱 gem 来加密 Devise 用户电子邮件,按照:https://ankane.org/securing-user-emails-lockbox. I've added the lockbox and blind_index gem, run the migrations (with a text field for :email_ciphertext as per https://github.com/ankane/lockbox,例如:
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: Rails5.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 控制台中使用 encrypt/decrypt 字符串,但是当我 运行 以下控制台命令时:
n = User.new
n.email="test@email.com"
我收到错误:
NoMethodError (undefined method `argon2id_hash_raw' for Argon2::KDF::FFI:Module)
为什么我无法创建新用户有什么想法吗? 谢谢!
这是一个错误,已在 0.1.2 版本中修复(来源:维护者)