Class: Apiphobic::Tokens::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/apiphobic/tokens/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#available_audiencesObject



25
26
27
# File 'lib/apiphobic/tokens/configuration.rb', line 25

def available_audiences
  @available_audiences || []
end

#available_issuersObject



29
30
31
# File 'lib/apiphobic/tokens/configuration.rb', line 29

def available_issuers
  @available_issuers || []
end

#available_rolesObject



33
34
35
# File 'lib/apiphobic/tokens/configuration.rb', line 33

def available_roles
  @available_roles || []
end

#available_subjectsObject



37
38
39
# File 'lib/apiphobic/tokens/configuration.rb', line 37

def available_subjects
  @available_subjects || []
end

#default_audienceObject



41
42
43
# File 'lib/apiphobic/tokens/configuration.rb', line 41

def default_audience
  @default_audience || 'public'
end

#default_availability_leeway_in_secondsObject



45
46
47
# File 'lib/apiphobic/tokens/configuration.rb', line 45

def default_availability_leeway_in_seconds
  @default_availability_leeway_in_seconds || 5
end

#default_expiration_in_minutesObject



49
50
51
# File 'lib/apiphobic/tokens/configuration.rb', line 49

def default_expiration_in_minutes
  @default_expiration_in_minutes || (7 * 24 * 60)
end

#default_expiration_leeway_in_secondsObject



53
54
55
# File 'lib/apiphobic/tokens/configuration.rb', line 53

def default_expiration_leeway_in_seconds
  @default_expiration_leeway_in_seconds || 5
end

#default_issuerObject



57
58
59
# File 'lib/apiphobic/tokens/configuration.rb', line 57

def default_issuer
  @default_issuer || 'apiphobic'
end

#default_rolesObject



61
62
63
# File 'lib/apiphobic/tokens/configuration.rb', line 61

def default_roles
  @default_roles || %w{standard}
end

#default_subjectObject



65
66
67
# File 'lib/apiphobic/tokens/configuration.rb', line 65

def default_subject
  @default_subject || 'User'
end

#private_keyObject



69
70
71
72
73
74
# File 'lib/apiphobic/tokens/configuration.rb', line 69

def private_key
  return unless @private_key
  return @private_key if @private_key.respond_to?(:sign)

  OpenSSL::PKey::RSA.new(@private_key)
end

#typeObject



94
95
96
# File 'lib/apiphobic/tokens/configuration.rb', line 94

def type
  @type || 'JWE'
end

Instance Method Details

#to_hObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/apiphobic/tokens/configuration.rb', line 76

def to_h
  {
    available_audiences:                    available_audiences,
    available_issuers:                      available_issuers,
    available_roles:                        available_roles,
    available_subjects:                     available_subjects,
    default_audience:                       default_audience,
    default_availability_leeway_in_seconds: default_availability_leeway_in_seconds,
    default_expiration_in_minutes:          default_expiration_in_minutes,
    default_expiration_leeway_in_seconds:   default_expiration_leeway_in_seconds,
    default_issuer:                         default_issuer,
    default_roles:                          default_roles,
    default_subject:                        default_subject,
    private_key:                            private_key,
    type:                                   type,
  }
end