我正在为带有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