Module: JWT::Claims

Defined in:
lib/jwt/claims.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, 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:



67
68
69
# File 'lib/jwt/claims.rb', line 67

def payload_errors(payload, *options)
  token_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



59
60
61
# File 'lib/jwt/claims.rb', line 59

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

.verify!(payload, options) ⇒ Object

Deprecated.

Use verify_payload! instead. Will be removed in the next major version of ruby-jwt.



36
37
38
# File 'lib/jwt/claims.rb', line 36

def verify!(payload, options)
  DecodeVerifier.verify!(payload, options)
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:



50
51
52
# File 'lib/jwt/claims.rb', line 50

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