openstreetmap-website/app/models/oauth2_verifier.rb
2011-11-16 21:13:25 +00:00

34 lines
638 B
Ruby

class Oauth2Verifier < OauthToken
validates_presence_of :user
attr_accessor :state
def exchange!(params={})
OauthToken.transaction do
token = Oauth2Token.create! :user=>user,:client_application=>client_application, :scope => scope
invalidate!
token
end
end
def code
token
end
def redirect_url
callback_url
end
def to_query
q = "code=#{token}"
q << "&state=#{URI.escape(state)}" if @state
q
end
protected
def generate_keys
self.token = OAuth::Helper.generate_key(20)[0,20]
self.expires_at = 10.minutes.from_now
self.authorized_at = Time.now
end
end