module Grape::OAuth2::Mongoid::AccessToken
Grape::OAuth2
Access Token role mixin for Mongoid
ORM. 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/mongoid/access_token.rb, line 43 def authenticate(token, type: :access_token) if type && type.to_sym == :refresh_token find_by(refresh_token: token.to_s) else find_by(token: token.to_s) end end
create_for(client, resource_owner, scopes = nil)
click to toggle source
# File lib/grape_oauth2/mixins/mongoid/access_token.rb, line 35 def create_for(client, resource_owner, scopes = nil) create( client: client, resource_owner: resource_owner, scopes: scopes.to_s ) end
Public Instance Methods
expired?()
click to toggle source
# File lib/grape_oauth2/mixins/mongoid/access_token.rb, line 52 def expired? !expires_at.nil? && Time.now.utc > expires_at end
generate_tokens()
click to toggle source
# File lib/grape_oauth2/mixins/mongoid/access_token.rb, line 75 def generate_tokens self.token = Grape::OAuth2.config.token_generator.generate(attributes) 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/mongoid/access_token.rb, line 60 def revoke!(revoked_at = Time.now) update_attribute :revoked_at, revoked_at.utc end
revoked?()
click to toggle source
# File lib/grape_oauth2/mixins/mongoid/access_token.rb, line 56 def revoked? !revoked_at.nil? && revoked_at <= Time.now.utc end
setup_expiration()
click to toggle source
# File lib/grape_oauth2/mixins/mongoid/access_token.rb, line 80 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/mongoid/access_token.rb, line 64 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