Class: Oauth2::Provider::OauthToken
Constant Summary
collapse
- EXPIRY_TIME =
90.days
Constants inherited
from ModelBase
ModelBase::CONVERTORS
Instance Method Summary
collapse
Methods inherited from ModelBase
all, #assign_attributes, #before_destroy, #before_save, columns, compact_name, count, create, create!, #datasource, datasource, datasource=, default_datasource, #destroy, find, find_all_with, find_by_id, find_one, #initialize, #new_record?, #reload, #save, #save!, size, #to_param, #to_xml, transaction, #transaction, #update_attributes, #update_from_dto, validates_uniqueness_of
Instance Method Details
#access_token_attributes ⇒ Object
16
17
18
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 16
def access_token_attributes
{:access_token => access_token, :expires_in => expires_in, :refresh_token => refresh_token}
end
|
#before_create ⇒ Object
33
34
35
36
37
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 33
def before_create
self.access_token = ActiveSupport::SecureRandom.hex(32)
self.expires_at = (Clock.now + EXPIRY_TIME).to_i
self.refresh_token = ActiveSupport::SecureRandom.hex(32)
end
|
#expired? ⇒ Boolean
24
25
26
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 24
def expired?
expires_in <= 0
end
|
#expires_in ⇒ Object
20
21
22
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 20
def expires_in
(Time.at(expires_at.to_i) - Clock.now).to_i
end
|
#oauth_client ⇒ Object
12
13
14
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 12
def oauth_client
OauthClient.find_by_id(oauth_client_id)
end
|
#refresh ⇒ Object
28
29
30
31
|
# File 'app/models/oauth2/provider/oauth_token.rb', line 28
def refresh
self.destroy
oauth_client.create_token_for_user_id(user_id)
end
|