Sha256: efb3da45fe03e6389185c8e31a3e569f614ac0c294211457dc30f9c3b7395bfe

Contents?: true

Size: 906 Bytes

Versions: 57

Compression:

Stored size: 906 Bytes

Contents

module Bearcat
  class Client < Footrest::Client
    module OAuth2

      def auth_redirect_url(client_id, redirect_uri, scopes = nil, response_type='code')
        fullpath('login/oauth2/auth')
        uri = URI.parse(fullpath('login/oauth2/auth'))
        query = [
          ['client_id', client_id],
          ['redirect_uri', redirect_uri],
          ['response_type', response_type]
        ]
        query << ['scopes', scopes] if scopes
        uri.query = URI.encode_www_form(query)
        uri.to_s
      end

      def retrieve_token(client_id, redirect_url, client_secret, code)
        body = post('/login/oauth2/token', {
          client_id: client_id,
          redirect_url: redirect_url,
          client_secret: client_secret,
          code: code
        })
        config[:token] = body['access_token']
        set_connection(config)
        config[:token]
      end

    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
bearcat-0.9.12 lib/bearcat/client/o_auth2.rb
bearcat-0.9.10 lib/bearcat/client/o_auth2.rb
bearcat-0.9.9 lib/bearcat/client/o_auth2.rb
bearcat-0.9.8 lib/bearcat/client/o_auth2.rb
bearcat-0.9.7 lib/bearcat/client/o_auth2.rb
bearcat-0.9.6 lib/bearcat/client/o_auth2.rb
bearcat-0.9.5 lib/bearcat/client/o_auth2.rb
bearcat-0.9.4 lib/bearcat/client/o_auth2.rb
bearcat-0.9.3 lib/bearcat/client/o_auth2.rb
bearcat-0.9.2 lib/bearcat/client/o_auth2.rb
bearcat-0.9.1 lib/bearcat/client/o_auth2.rb
bearcat-0.9 lib/bearcat/client/o_auth2.rb
bearcat-0.8 lib/bearcat/client/o_auth2.rb
bearcat-0.7 lib/bearcat/client/o_auth2.rb
bearcat-0.6 lib/bearcat/client/o_auth2.rb
bearcat-0.4 lib/bearcat/client/o_auth2.rb
bearcat-0.3 lib/bearcat/client/o_auth2.rb