Sha256: 584e1f9ee5bae2863359d09ce152fb3a7cbb8ba5b019a92f72446b75fe06e2d2

Contents?: true

Size: 1.14 KB

Versions: 14

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

module OAuth2
  module Strategy
    # The Implicit Strategy
    #
    # @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-26#section-4.2
    class Implicit < Base
      # The required query parameters for the authorize URL
      #
      # @param [Hash] params additional query parameters
      def authorize_params(params = {})
        params.merge('response_type' => 'token', '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 = {})
        assert_valid_params(params)
        @client.authorize_url(authorize_params.merge(params))
      end

      # Not used for this strategy
      #
      # @raise [NotImplementedError]
      def get_token(*)
        raise(NotImplementedError, 'The token is accessed differently in this strategy')
      end

    private

      def assert_valid_params(params)
        raise(ArgumentError, 'client_secret is not allowed in authorize URL query params') if params.key?(:client_secret) || params.key?('client_secret')
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/oauth2-2.0.9/lib/oauth2/strategy/implicit.rb
oauth2-2.0.9 lib/oauth2/strategy/implicit.rb
oauth2-2.0.8 lib/oauth2/strategy/implicit.rb
oauth2-2.0.7 lib/oauth2/strategy/implicit.rb
oauth2-2.0.6 lib/oauth2/strategy/implicit.rb
oauth2-2.0.5 lib/oauth2/strategy/implicit.rb
oauth2-2.0.4 lib/oauth2/strategy/implicit.rb
oauth2-2.0.3 lib/oauth2/strategy/implicit.rb
oauth2-2.0.2 lib/oauth2/strategy/implicit.rb
oauth2-2.0.1 lib/oauth2/strategy/implicit.rb
oauth2-2.0.0 lib/oauth2/strategy/implicit.rb
oauth2-2.0.0.rc3 lib/oauth2/strategy/implicit.rb
oauth2-2.0.0.rc2 lib/oauth2/strategy/implicit.rb
oauth2-2.0.0.rc1 lib/oauth2/strategy/implicit.rb