#ruby-on-rails #ruby-on-rails-6
#ruby-on-rails #ruby-on-rails-6
Вопрос:
В Rails 6.1 вводится параметр для длины защищенного токена, например
has_secure_token :auth_token, length: 36
https://api.rubyonrails.org/classes/ActiveRecord/SecureToken/ClassMethods.html
Здесь есть MINIMUM_TOKEN_LENGTH = 24
набор: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/secure_token.rb
Как мне переопределить это? Мне нужны токены с меньшей длиной.
Ответ №1:
Попробуйте это переопределить….
Создайте файл в config/initializers/active_record/secure_token.rb
# frozen_string_literal: true
module ActiveRecord
module SecureToken
MINIMUM_TOKEN_LENGTH = 2 // Add your minimum length
end
end
Примечание: has_secure_token
использует
SecureRandom::base58 для генерации минимального 24-символьного уникального токена, поэтому коллизии крайне маловероятны.
Надеюсь, этот патч сработает для вас.