Class: JWT::Configuration::DecodeConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/jwt/configuration/decode_configuration.rb

Overview

The DecodeConfiguration class holds the configuration settings for decoding JWT tokens.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ DecodeConfiguration

Initializes a new DecodeConfiguration instance with default settings.



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/jwt/configuration/decode_configuration.rb', line 43

def initialize
  @verify_expiration = true
  @verify_not_before = true
  @verify_iss = false
  @verify_iat = false
  @verify_jti = false
  @verify_aud = false
  @verify_sub = false
  @leeway = 0
  @algorithms = ['HS256']
  @required_claims = []
  @enforce_hmac_key_length = false
end

Instance Attribute Details

#algorithms ⇒ Array<String>

Returns the list of acceptable algorithms.

Returns:

  • (Array<String>) —

    the list of acceptable algorithms.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#enforce_hmac_key_length ⇒ Boolean

Returns whether to enforce minimum HMAC key lengths. false disables validation (default).

Returns:

  • (Boolean) —

    whether to enforce minimum HMAC key lengths. false disables validation (default).



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#leeway ⇒ Integer

Returns the leeway in seconds for time-based claims.

Returns:

  • (Integer) —

    the leeway in seconds for time-based claims.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#required_claims ⇒ Array<String>

Returns the list of required claims.

Returns:

  • (Array<String>) —

    the list of required claims.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_aud ⇒ Boolean

Returns whether to verify the audience claim.

Returns:

  • (Boolean) —

    whether to verify the audience claim.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_expiration ⇒ Boolean

Returns whether to verify the expiration claim.

Returns:

  • (Boolean) —

    whether to verify the expiration claim.



30
31
32
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

def verify_expiration
  @verify_expiration
end

#verify_iat ⇒ Boolean, Hash

Returns whether to verify the issued at claim. A hash can be given to configure the claim, currently only leeway is supported.

Returns:

  • (Boolean, Hash) —

    whether to verify the issued at claim. A hash can be given to configure the claim, currently only leeway is supported.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_iss ⇒ Boolean

Returns whether to verify the issuer claim.

Returns:

  • (Boolean) —

    whether to verify the issuer claim.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_jti ⇒ Boolean

Returns whether to verify the JWT ID claim.

Returns:

  • (Boolean) —

    whether to verify the JWT ID claim.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_not_before ⇒ Boolean

Returns whether to verify the not before claim.

Returns:

  • (Boolean) —

    whether to verify the not before claim.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

#verify_sub ⇒ Boolean

Returns whether to verify the subject claim.

Returns:

  • (Boolean) —

    whether to verify the subject claim.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jwt/configuration/decode_configuration.rb', line 30

attr_accessor :verify_expiration,
:verify_not_before,
:verify_iss,
:verify_iat,
:verify_jti,
:verify_aud,
:verify_sub,
:leeway,
:algorithms,
:required_claims,
:enforce_hmac_key_length

Instance Method Details

#to_h ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/jwt/configuration/decode_configuration.rb', line 58

def to_h
  {
    verify_expiration: verify_expiration,
    verify_not_before: verify_not_before,
    verify_iss: verify_iss,
    verify_iat: verify_iat,
    verify_jti: verify_jti,
    verify_aud: verify_aud,
    verify_sub: verify_sub,
    leeway: leeway,
    algorithms: algorithms,
    required_claims: required_claims,
    enforce_hmac_key_length: enforce_hmac_key_length
  }
end