module Grape::OAuth2::Sequel::AccessToken
Grape::OAuth2
Access Token role mixin for Sequel
toolkit. Includes all the required API, associations, validations and callbacks.
Public Class Methods
authenticate(token, type: :access_token)
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 40 def authenticate(token, type: :access_token) if type && type.to_sym == :refresh_token first(refresh_token: token.to_s) else first(token: token.to_s) end end
create_for(client, resource_owner, scopes = nil)
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 32 def create_for(client, resource_owner, scopes = nil) create( client: client, resource_owner: resource_owner, scopes: scopes.to_s ) end
Public Instance Methods
before_validation()
click to toggle source
Calls superclass method
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 16 def before_validation if new? setup_expiration generate_tokens end super end
expired?()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 49 def expired? !expires_at.nil? && Time.now.utc > expires_at.utc end
generate_tokens()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 73 def generate_tokens self.token = Grape::OAuth2.config.token_generator.generate(values) if token.blank? self.refresh_token = Grape::OAuth2::UniqueToken.generate if Grape::OAuth2.config.issue_refresh_token end
revoke!(revoked_at = Time.now)
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 57 def revoke!(revoked_at = Time.now) set(revoked_at: revoked_at.utc) save(columns: [:revoked_at], validate: false) end
revoked?()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 53 def revoked? !revoked_at.nil? && revoked_at <= Time.now.utc end
setup_expiration()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 78 def setup_expiration expires_in = Grape::OAuth2.config.access_token_lifetime self.expires_at = Time.now + expires_in if expires_at.nil? && !expires_in.nil? end
to_bearer_token()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 62 def to_bearer_token { access_token: token, expires_in: expires_at && Grape::OAuth2.config.access_token_lifetime.to_i, refresh_token: refresh_token, scope: scopes } end
validate()
click to toggle source
Calls superclass method
# File lib/grape_oauth2/mixins/sequel/access_token.rb, line 25 def validate super validates_presence :token validates_unique :token end