Class: Apiphobic::Tokens::Configuration
- Inherits:
-
Object
- Object
- Apiphobic::Tokens::Configuration
- Includes:
- Singleton
- Defined in:
- lib/apiphobic/tokens/configuration.rb
Instance Attribute Summary collapse
- #available_audiences ⇒ Object
- #available_issuers ⇒ Object
- #available_roles ⇒ Object
- #available_subjects ⇒ Object
- #default_audience ⇒ Object
- #default_availability_leeway_in_seconds ⇒ Object
- #default_expiration_in_minutes ⇒ Object
- #default_expiration_leeway_in_seconds ⇒ Object
- #default_issuer ⇒ Object
- #default_roles ⇒ Object
- #default_subject ⇒ Object
- #private_key ⇒ Object
- #type ⇒ Object
Instance Method Summary collapse
Instance Attribute Details
#available_audiences ⇒ Object
25 26 27 |
# File 'lib/apiphobic/tokens/configuration.rb', line 25 def available_audiences @available_audiences || [] end |
#available_issuers ⇒ Object
29 30 31 |
# File 'lib/apiphobic/tokens/configuration.rb', line 29 def available_issuers @available_issuers || [] end |
#available_roles ⇒ Object
33 34 35 |
# File 'lib/apiphobic/tokens/configuration.rb', line 33 def available_roles @available_roles || [] end |
#available_subjects ⇒ Object
37 38 39 |
# File 'lib/apiphobic/tokens/configuration.rb', line 37 def available_subjects @available_subjects || [] end |
#default_audience ⇒ Object
41 42 43 |
# File 'lib/apiphobic/tokens/configuration.rb', line 41 def default_audience @default_audience || 'public' end |
#default_availability_leeway_in_seconds ⇒ Object
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_minutes ⇒ Object
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_seconds ⇒ Object
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_issuer ⇒ Object
57 58 59 |
# File 'lib/apiphobic/tokens/configuration.rb', line 57 def default_issuer @default_issuer || 'apiphobic' end |
#default_roles ⇒ Object
61 62 63 |
# File 'lib/apiphobic/tokens/configuration.rb', line 61 def default_roles @default_roles || %w{standard} end |
#default_subject ⇒ Object
65 66 67 |
# File 'lib/apiphobic/tokens/configuration.rb', line 65 def default_subject @default_subject || 'User' end |
#private_key ⇒ Object
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 |
#type ⇒ Object
94 95 96 |
# File 'lib/apiphobic/tokens/configuration.rb', line 94 def type @type || 'JWE' end |
Instance Method Details
#to_h ⇒ Object
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 |