Rails, Devise и ошибка lockbox: не удалось найти Argon2

Я пытаюсь использовать драгоценный камень Lockbox для шифрования электронной почты пользователей Devise по адресу : https://ankane.org/securing-user-emails-lockbox . Я добавил гем lockbox и blind_index, запустите миграцию (с текстовым полем для: email_ciphertext согласно 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"

Однако, когда я пытаюсь создать нового пользователя, я получаю ошибку: LoadError в Users :: RegistrationsController # create Не удалось найти Argon2.

Я пытался добавить драгоценный камень Argon2, но он не исправляет ошибку. Мой драгоценный файл включает в себя:

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)

Любые идеи, почему я не могу создать нового пользователя? Благодарность!

Всего 1 ответ


Эта ошибка была исправлена ​​в выпуске 0.1.2 (источник: amtainer)


Есть идеи?

10000