Sha256: 946e85a648e73ac67f4946370ea467fcdc0ef66357bd5e5c0027170a54dfbee5

Contents?: true

Size: 1.16 KB

Versions: 13

Compression:

Stored size: 1.16 KB

Contents

module OAuth2
  module Strategy
    # The Authorization Code Strategy
    #
    # @see http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-4.1
    class AuthCode < Base
      # The required query parameters for the authorize URL
      #
      # @param [Hash] params additional query parameters
      def authorize_params(params={})
        params.merge('response_type' => 'code', 'client_id' => @client.id)
      end

      # The authorization URL endpoint of the provider
      #
      # @param [Hash] params additional query parameters for the URL
      def authorize_url(params={})
        @client.authorize_url(authorize_params.merge(params))
      end

      # Retrieve an access token given the specified validation code.
      #
      # @param [String] code The Authorization Code value
      # @param [Hash] params additional params
      # @param [Hash] opts options
      # @note that you must also provide a :redirect_uri with most OAuth 2.0 providers
      def get_token(code, params={}, opts={})
        params = {'grant_type' => 'authorization_code', 'code' => code}.merge(client_params).merge(params)
        @client.get_token(params, opts)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 3 rubygems

Version Path
oauth2-0.9.2 lib/oauth2/strategy/auth_code.rb
dreamwords-oauth2-0.8.1 lib/oauth2/strategy/auth_code.rb
vagrant-actionio-0.0.9 vendor/bundle/gems/oauth2-0.9.1/lib/oauth2/strategy/auth_code.rb
oauth2-0.9.1 lib/oauth2/strategy/auth_code.rb
oauth2-0.8.1 lib/oauth2/strategy/auth_code.rb
oauth2-0.9.0 lib/oauth2/strategy/auth_code.rb
oauth2-0.8.0 lib/oauth2/strategy/auth_code.rb
oauth2-0.7.1 lib/oauth2/strategy/auth_code.rb
oauth2-0.7.0 lib/oauth2/strategy/auth_code.rb
oauth2-0.6.1 lib/oauth2/strategy/auth_code.rb
oauth2-0.6.0 lib/oauth2/strategy/auth_code.rb
oauth2-0.5.2 lib/oauth2/strategy/auth_code.rb
oauth2-0.5.1 lib/oauth2/strategy/auth_code.rb