Class: Core::Models::OAuth::Authorization
- Inherits:
-
Object
- Object
- Core::Models::OAuth::Authorization
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- lib/core/models/oauth/authorization.rb
Overview
An OAuth authorization is granted by a user to an application to access its personal data. The application then transforms it into an access token to be able to send it with further requests, so that we know the user has authorized the application to access its data.
Instance Attribute Summary collapse
-
#account ⇒ Arkaaan::Account
The account granting the authorization to access its data to the application.
-
#application ⇒ Core::Models::OAuth::Application
The application asking to access account’s data.
-
#code ⇒ String
The value corresponding to the authentication code in the RFC of OAuth2.0, kep for historic purpose.
-
#expiration ⇒ Integer
The time, in seconds, after which the authorization is declared expired.
-
#token ⇒ Core::Models::OAuth::AccessToken
The access token used further in the application process to access private data of the account.
Instance Method Summary collapse
-
#expired? ⇒ Boolean
Checks if the current date is inferior to the creation date + expiration period.
Instance Attribute Details
#account ⇒ Arkaaan::Account
Returns the account granting the authorization to access its data to the application.
24 |
# File 'lib/core/models/oauth/authorization.rb', line 24 belongs_to :account, class_name: 'Core::Models::Account', inverse_of: :authorizations |
#application ⇒ Core::Models::OAuth::Application
Returns the application asking to access account’s data.
27 |
# File 'lib/core/models/oauth/authorization.rb', line 27 belongs_to :application, class_name: 'Core::Models::OAuth::Application', inverse_of: :authorizations |
#code ⇒ String
Returns the value corresponding to the authentication code in the RFC of OAuth2.0, kep for historic purpose.
17 |
# File 'lib/core/models/oauth/authorization.rb', line 17 field :code, type: String, default: ->{ SecureRandom.hex } |
#expiration ⇒ Integer
Returns the time, in seconds, after which the authorization is declared expired.
20 |
# File 'lib/core/models/oauth/authorization.rb', line 20 field :expiration, type: Integer, default: 86400 |
#token ⇒ Core::Models::OAuth::AccessToken
Returns the access token used further in the application process to access private data of the account.
30 |
# File 'lib/core/models/oauth/authorization.rb', line 30 has_many :tokens, class_name: 'Core::Models::OAuth::AccessToken', inverse_of: :authorization |
Instance Method Details
#expired? ⇒ Boolean
Checks if the current date is inferior to the creation date + expiration period
41 42 43 |
# File 'lib/core/models/oauth/authorization.rb', line 41 def expired? created_at.to_time.to_i + expiration < Time.now.to_i end |