生成安全令牌 - Ruby on Rails

时间:2018-01-17 16:20:38

标签: ruby-on-rails ruby

我有一个流程,我通过电子邮件向用户发送带有生成令牌的链接。

我目前正在生成这样的令牌:

before_create :generate_token

protected

def generate_token
  self.token = loop do
    random_token = SecureRandom.urlsafe_base64(nil, false)
    break random_token unless ModelName.exists?(token: random_token)
  end
end

用户可以通过转到

来访问记录
mysite.com/records/:token

如何使用散列或加密令牌完成相同的任务?我想让这个链接更安全。

1 个答案:

答案 0 :(得分:2)

也许您正在寻找ActiveSupport::MessageVerifier

  

MessageVerifier可以轻松生成和验证哪些消息   签署以防止篡改。

How Does MessageVerifier Work?