【问题标题】:Change has_secure_token minimum length in Rails 6.1在 Rails 6.1 中更改 has_secure_token 最小长度
【发布时间】:2021-01-06 13:18:16
【问题描述】:

Rails 6.1 引入了安全令牌长度设置,例如

has_secure_token :auth_token, length: 36

https://api.rubyonrails.org/classes/ActiveRecord/SecureToken/ClassMethods.html

这里有一个MINIMUM_TOKEN_LENGTH = 24https://github.com/rails/rails/blob/master/activerecord/lib/active_record/secure_token.rb

我该如何覆盖它?我需要长度较短的令牌。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-6


    【解决方案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 个字符的唯一令牌,因此不太可能发生冲突。

    希望这个补丁对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-10
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2017-06-05
      • 2012-02-08
      相关资源
      最近更新 更多