module Grape::OAuth2::Sequel::AccessGrant
Grape::OAuth2
Authorization Grant role mixin for Sequel
toolkit. Includes all the required API, associations, validations and callbacks.
Public Class Methods
create_for(client, resource_owner, redirect_uri, scopes = nil)
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 26 def create_for(client, resource_owner, redirect_uri, scopes = nil) create( client_id: client.id, resource_owner_id: resource_owner && resource_owner.id, redirect_uri: redirect_uri, scopes: scopes.to_s ) end
Public Instance Methods
before_validation()
click to toggle source
Calls superclass method
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 16 def before_validation if new? generate_token setup_expiration end super end
expired?()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 42 def expired? expires_at && Time.now.utc > expires_at end
generate_token()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 57 def generate_token self.token = Grape::OAuth2.config.token_generator.generate(values) end
revoke!(revoked_at = Time.now)
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 50 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_grant.rb, line 46 def revoked? revoked_at && revoked_at <= Time.now.utc end
setup_expiration()
click to toggle source
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 61 def setup_expiration self.expires_at = Time.now.utc + Grape::OAuth2.config.authorization_code_lifetime if expires_at.nil? end
validate()
click to toggle source
Calls superclass method
# File lib/grape_oauth2/mixins/sequel/access_grant.rb, line 36 def validate super validates_presence %i[token client_id] validates_unique [:token] end