Class: Oauth2::Provider::OauthToken

Inherits:
ModelBase
  • Object
show all
Defined in:
app/models/oauth2/provider/oauth_token.rb

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

Constructor Details

This class inherits a constructor from Oauth2::Provider::ModelBase

Instance Method Details

#access_token_attributesObject



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_createObject



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

Returns:

  • (Boolean)


24
25
26
# File 'app/models/oauth2/provider/oauth_token.rb', line 24

def expired?
  expires_in <= 0
end

#expires_inObject



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_clientObject



12
13
14
# File 'app/models/oauth2/provider/oauth_token.rb', line 12

def oauth_client
  OauthClient.find_by_id(oauth_client_id)
end

#refreshObject



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