Class: OmniAuth::Strategies::Gds

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/gds-sso/omniauth_strategy.rb

Overview

Authenticate to GDS with OAuth 2.0 and retrieve basic user information.

Examples:

Basic Usage

use OmniAuth::Builder :gds, 'API Key', 'Secret Key'

Instance Method Summary collapse

Constructor Details

#initialize(app, api_key = nil, secret_key = nil, options = {}, &block) ⇒ Gds

Returns a new instance of Gds.

Parameters:

  • app (Rack Application)

    standard middleware application parameter

  • api_key (String) (defaults to: nil)

    the application id as [provided by GDS]

  • secret_key (String) (defaults to: nil)

    the application secret as [provided by Bitly]



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/gds-sso/omniauth_strategy.rb', line 15

def initialize(app, api_key = nil, secret_key = nil, options = {}, &block)
  client_options = {
    :site => "#{GDS::SSO::Config.oauth_root_url}/",
    :authorize_url => "#{GDS::SSO::Config.oauth_root_url}/oauth/authorize",
    :token_url => "#{GDS::SSO::Config.oauth_root_url}/oauth/access_token",
    :access_token_url => "#{GDS::SSO::Config.oauth_root_url}/oauth/access_token",
    :ssl => {
      :verify => false
    }
  }

  super(app, :gds, api_key, secret_key, client_options, options, &block)
end

Instance Method Details

#call(env) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/gds-sso/omniauth_strategy.rb', line 29

def call(env)
  if GDS::SSO::ApiAccess.api_call?(env)
    @app.call(env)
  else
    super
  end
end