Module: JWT::Claims

Defined in:
lib/jwt/claims.rb,
lib/jwt/claims/crit.rb,
lib/jwt/claims/issuer.rb,
lib/jwt/claims/jwt_id.rb,
lib/jwt/claims/numeric.rb,
lib/jwt/claims/subject.rb,
lib/jwt/claims/audience.rb,
lib/jwt/claims/required.rb,
lib/jwt/claims/verifier.rb,
lib/jwt/claims/issued_at.rb,
lib/jwt/claims/expiration.rb,
lib/jwt/claims/not_before.rb,
lib/jwt/claims/decode_verifier.rb

Overview

JWT Claim verifications datatracker.ietf.org/doc/html/rfc7519#section-4

Verification is supported for the following claims: exp nbf iss iat jti aud sub required numeric

Defined Under Namespace

Modules: DecodeVerifier, Verifier Classes: Audience, Crit, Error, Expiration, IssuedAt, Issuer, JwtId, NotBefore, Numeric, Required, Subject, VerificationContext

Class Method Summary collapse

Class Method Details

.payload_errors(payload, *options) ⇒ Array<JWT::Claims::Error>

Returns the errors in the claims of the JWT token.

Parameters:

  • options (Array)

    the options for verifying the claims.

Returns:



62
63
64
# File 'lib/jwt/claims.rb', line 62

def payload_errors(payload, *options)
  Verifier.errors(VerificationContext.new(payload: payload), *options)
end

.valid_payload?(payload, *options) ⇒ Boolean

Checks if the claims in the JWT payload are valid.

Parameters:

  • payload (Hash)

    the JWT payload.

  • options (Array)

    the options for verifying the claims.

Returns:

  • (Boolean)

    true if the claims are valid, false otherwise



54
55
56
# File 'lib/jwt/claims.rb', line 54

def valid_payload?(payload, *options)
  payload_errors(payload, *options).empty?
end

.verify_payload!(payload, *options) ⇒ void

This method returns an undefined value.

Checks if the claims in the JWT payload are valid.

Examples:


::JWT::Claims.verify_payload!({"exp" => Time.now.to_i + 10}, :exp)
::JWT::Claims.verify_payload!({"exp" => Time.now.to_i - 10}, exp: { leeway: 11})

Parameters:

  • payload (Hash)

    the JWT payload.

  • options (Array)

    the options for verifying the claims.

Raises:



45
46
47
# File 'lib/jwt/claims.rb', line 45

def verify_payload!(payload, *options)
  Verifier.verify!(VerificationContext.new(payload: payload), *options)
end