【发布时间】:2012-11-05 05:26:56
【问题描述】:
我正在为带有 rails 的 android 应用程序编写一个 api。由于我对 rails 和 android 都是新手,所以我无法弄清楚 access_token 的内容。
我有一个Token模型,每次用户登录时,都会在tokens表中添加一个新的access_token。我的问题是,如果我在创建令牌后设置过期日期 == 3 天,那么当用户发送带有 access_token 的请求时,验证这一点的正确方法是什么?如何删除那些过期的令牌?
这是我的代币模型:
# Table name: tokens
#
# id :integer not null, primary key
# access_token :string(255)
# user_id :integer
# created_at :datetime not null
# updated_at :datetime not null
class Token < ActiveRecord::Base
attr_accessible :access_token, :user_id
before_validation :generate_access_token
belongs_to :user
validates :access_token, presence: true, uniqueness: true
validates :user_id, presence: true, uniqueness: true
private
def generate_access_token
begin
self.access_token = SecureRandom.hex
end while self.class.exists?(access_token: access_token)
end
end
【问题讨论】:
标签: ruby-on-rails access-token