· 7 years ago · Mar 09, 2018, 11:36 PM
1class RequestToken < OauthToken
2
3 attr_accessor :provided_oauth_verifier
4
5 def authorize!(user)
6 return false if authorized?
7 self.user = user
8 self.authorized_at = Time.now
9 # self.verifier=OAuth::Helper.generate_key(16)
10 self.verifier=OAuth::Helper.generate_key[0,20]
11 self.save
12 end
13
14 def exchange!
15 return false unless authorized?
16 # return false unless verifier==provided_oauth_verifier
17 return false unless self.callback_url.blank? || verifier==provided_oauth_verifier
18
19 RequestToken.transaction do
20 access_token = AccessToken.create(:user => user, :client_application => client_application)
21 invalidate!
22 access_token
23 end
24 end
25
26 def to_query
27 "#{super}&oauth_callback_confirmed=true"
28 end
29
30end