0

Railsを使用したAndroidアプリのAPIを作成しています。私はrailsとandroidの両方に慣れていないので、access_tokenのものを理解できません。

トークンモデルがあります。ユーザーがログインするたびに、新しい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
4

1 に答える 1

0

expires_atそれを処理するためにトークンモデルに列を追加できます。また、既存のトークンのキーと有効期限を更新するか、ユーザーの新しいトークン レコードを生成して代わりに返すことができる、新しいトークンを取得する方法も必要になります。後者は、Facebook がアクセス トークンに対して採用しているアプローチです。

于 2012-11-04T21:26:56.007 に答える