Sha256: d53b5f223b57ef6a1593ff14a5acac5103567c44c1654d38b92f1338d85aa5da

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require 'ostruct'

module JWTKeeper
  class Configuration < OpenStruct
    DEFAULTS = {
      algorithm:       'HS512',
      secret:           nil,
      expiry:           24.hours,
      issuer:           nil,
      audience:         nil,
      redis_connection: nil,
      version:          nil,
      cookie_lock:      false,
      cookie_secure:    true,
      cookie_domain:    :all
    }.freeze

    # Creates a new Configuration from the passed in parameters
    # @param params [Hash] configuration options
    # @return [Configuration]
    def initialize(params = {})
      super(DEFAULTS.merge(params))
    end

    # @!visibility private
    def base_claims
      {
        iss: JWTKeeper.configuration.issuer,               # issuer
        aud: JWTKeeper.configuration.audience,             # audience
        exp: JWTKeeper.configuration.expiry.from_now.to_i, # expiration time
        ver: JWTKeeper.configuration.version               # Version
      }
    end

    # @!visibility private
    def cookie_options
      {
        domain: JWTKeeper.configuration.cookie_domain,
        secure: JWTKeeper.configuration.cookie_secure,
        httponly: true
      }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jwt_keeper-6.1.4 lib/jwt_keeper/configuration.rb
jwt_keeper-6.1.3 lib/jwt_keeper/configuration.rb