Module: Grape::OAuth2

Defined in:
lib/grape_oauth2.rb,
lib/grape_oauth2/scopes.rb,
lib/grape_oauth2/version.rb,
lib/grape_oauth2/gem_version.rb,
lib/grape_oauth2/unique_token.rb,
lib/grape_oauth2/configuration.rb,
lib/grape_oauth2/responses/base.rb,
lib/grape_oauth2/endpoints/token.rb,
lib/grape_oauth2/generators/base.rb,
lib/grape_oauth2/responses/token.rb,
lib/grape_oauth2/strategies/base.rb,
lib/grape_oauth2/generators/token.rb,
lib/grape_oauth2/endpoints/authorize.rb,
lib/grape_oauth2/strategies/password.rb,
lib/grape_oauth2/helpers/oauth_params.rb,
lib/grape_oauth2/mixins/sequel/client.rb,
lib/grape_oauth2/mixins/mongoid/client.rb,
lib/grape_oauth2/responses/authorization.rb,
lib/grape_oauth2/configuration/validation.rb,
lib/grape_oauth2/generators/authorization.rb,
lib/grape_oauth2/strategies/refresh_token.rb,
lib/grape_oauth2/mixins/sequel/access_grant.rb,
lib/grape_oauth2/mixins/sequel/access_token.rb,
lib/grape_oauth2/mixins/active_record/client.rb,
lib/grape_oauth2/mixins/mongoid/access_grant.rb,
lib/grape_oauth2/mixins/mongoid/access_token.rb,
lib/grape_oauth2/helpers/access_token_helpers.rb,
lib/grape_oauth2/configuration/class_accessors.rb,
lib/grape_oauth2/strategies/authorization_code.rb,
lib/grape_oauth2/strategies/client_credentials.rb,
lib/grape_oauth2/mixins/active_record/access_grant.rb,
lib/grape_oauth2/mixins/active_record/access_token.rb

Overview

Main Grape::OAuth2 module.

Defined Under Namespace

Modules: ActiveRecord, ClassAccessors, Endpoints, Generators, Helpers, Mongoid, Responses, Sequel, Strategies, UniqueToken, VERSION Classes: Configuration, Scopes

Class Method Summary collapse

Class Method Details

.api(*endpoints) ⇒ Object

Method for injecting Grape::OAuth2 endpoints and helpers into Grape API class. Automatically set required middleware, OAuth2 helpers and mounts all (or configured) endpoints.

Parameters:

  • endpoints (Array<Symbol>, Array<String>)

    endpoints to add



95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/grape_oauth2.rb', line 95

def api(*endpoints)
  inject_to_api do |api|
    api.use(*Grape::OAuth2.middleware)
    api.helpers(Grape::OAuth2::Helpers::AccessTokenHelpers)

    (endpoints.presence || endpoints_mapping.keys).each do |name|
      endpoint = endpoints_mapping[name.to_sym]
      raise ArgumentError, "Unrecognized endpoint: #{endpoint}" if endpoint.nil?

      api.mount(endpoint)
    end
  end
end

.check_configuration!Object

Validates Grape::OAuth2 configuration to be set correctly.



80
81
82
# File 'lib/grape_oauth2.rb', line 80

def check_configuration!
  config.check!
end

.configGrape::OAuth2::Configuration

Grape::OAuth2 configuration.

Returns:



69
70
71
# File 'lib/grape_oauth2.rb', line 69

def config
  @config ||= Grape::OAuth2::Configuration.new
end

.configure {|config| ... } ⇒ Object

Configures Grape::OAuth2. Yields Grape::OAuth2::Configuration instance to the block.

Yields:



75
76
77
# File 'lib/grape_oauth2.rb', line 75

def configure
  yield config
end

.gem_versionGem::Version

Grape::OAuth2 version.

Returns:

  • (Gem::Version)

    version of the gem



6
7
8
# File 'lib/grape_oauth2/gem_version.rb', line 6

def self.gem_version
  Gem::Version.new VERSION::STRING
end

.middlewareObject

Grape::OAuth2 default middleware.



85
86
87
# File 'lib/grape_oauth2.rb', line 85

def middleware
  [Rack::OAuth2::Server::Resource::Bearer, config.realm, config.token_authenticator]
end

.versionGem::Version

Grape::OAuth2 gem version.

Returns:

  • (Gem::Version)

    version value



10
11
12
# File 'lib/grape_oauth2/version.rb', line 10

def self.version
  gem_version
end