Sha256: facc5827702b1fbd5059366e271810cca4b04a2fe324659e8d74ca06bc12f849

Contents?: true

Size: 995 Bytes

Versions: 12

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

module Doorkeeper
  module OAuth
    module Helpers
      # Default Doorkeeper token generator. Follows OAuth RFC and
      # could be customized using `default_generator_method` in
      # configuration.
      module UniqueToken
        def self.generate(options = {})
          # Access Token value must be 1*VSCHAR or
          # 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"="
          #
          # @see https://tools.ietf.org/html/rfc6749#appendix-A.12
          # @see https://tools.ietf.org/html/rfc6750#section-2.1
          #
          generator = options.delete(:generator) || SecureRandom.method(default_generator_method)
          token_size = options.delete(:size) || 32
          generator.call(token_size)
        end

        # Generator method for default generator class (SecureRandom)
        #
        def self.default_generator_method
          Doorkeeper.config.default_generator_method
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
doorkeeper-5.5.2 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.5.1 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.5.0 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.5.0.rc2 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.5.0.rc1 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.4.0 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.3.3 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.4.0.rc2 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.3.2 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.4.0.rc1 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.3.1 lib/doorkeeper/oauth/helpers/unique_token.rb
doorkeeper-5.3.0 lib/doorkeeper/oauth/helpers/unique_token.rb