Ruby on rails RubyonRails:没有Authlogic的易腐\u令牌?

Ruby on rails RubyonRails:没有Authlogic的易腐\u令牌?,ruby-on-rails,authentication,authlogic,activation,Ruby On Rails,Authentication,Authlogic,Activation,我使用了中实现的注册和登录,没有任何gems进行身份验证。然而,现在我试图通过向用户发送随机生成的URL来激活用户,我在这里遇到了麻烦。我在网上搜索过,看到一些人使用Authlogic的易腐_令牌来生成这个,但由于我根本没有使用Authlogic,我想知道是否有一种方法可以在不使用任何其他gem的情况下生成这个。rails专业人士有什么建议吗?谢谢我想一个简单的方法就是生成一个随机的字符串/数字,用作易腐的\u令牌 您可以先看看。我想一个简单的方法就是生成一个随机字符串/数字,用作易腐\u标记

我使用了中实现的注册和登录,没有任何gems进行身份验证。然而,现在我试图通过向用户发送随机生成的URL来激活用户,我在这里遇到了麻烦。我在网上搜索过,看到一些人使用Authlogic的易腐_令牌来生成这个,但由于我根本没有使用Authlogic,我想知道是否有一种方法可以在不使用任何其他gem的情况下生成这个。rails专业人士有什么建议吗?谢谢

我想一个简单的方法就是生成一个随机的字符串/数字,用作
易腐的\u令牌


您可以先看看。

我想一个简单的方法就是生成一个随机字符串/数字,用作
易腐\u标记


你可以先看看。实现这一点有很多方法。您首先必须决定如何生成令牌。您只需使用用户上的一些数据(如电子邮件)和另一段种子数据(如Time.now)创建md5hash,并将其存储为用户上的“易腐_令牌”

然后,您可以覆盖易腐_令牌的读卡器访问器,以生成另一个令牌并更新用户模型

before_save :generate_perishable_token

def generate_perishable_token
  self.perishable_token = Digest::MD5.hexdigest("#{Time.now}-#{self.email}")
end

def perishable_token
  generate_perishable_token
  save
end

以上只是一些快速的伪代码,但应该能够理解这一点。

实现这一点的方法有很多。您首先必须决定如何生成令牌。您只需使用用户上的一些数据(如电子邮件)和另一段种子数据(如Time.now)创建md5hash,并将其存储为用户上的“易腐_令牌”

然后,您可以覆盖易腐_令牌的读卡器访问器,以生成另一个令牌并更新用户模型

before_save :generate_perishable_token

def generate_perishable_token
  self.perishable_token = Digest::MD5.hexdigest("#{Time.now}-#{self.email}")
end

def perishable_token
  generate_perishable_token
  save
end

以上只是一些快速的伪代码,但应该能让人明白这一点。

谢谢Jake,我会试试这个谢谢Jake,我会试试这个