Module: JwtClaims

Defined in:
lib/jwt_claims.rb,
lib/jwt_claims/util.rb,
lib/jwt_claims/version.rb,
lib/jwt_claims/claim/aud.rb,
lib/jwt_claims/claim/exp.rb,
lib/jwt_claims/claim/iat.rb,
lib/jwt_claims/claim/iss.rb,
lib/jwt_claims/claim/jti.rb,
lib/jwt_claims/claim/nbf.rb,
lib/jwt_claims/claim/sub.rb,
lib/jwt_claims/validation.rb,
lib/jwt_claims/string_or_uri.rb

Defined Under Namespace

Modules: Claim, StringOrUri, Util, Validation

Constant Summary collapse

VERSION =
'0.0.2'

Class Method Summary collapse

Class Method Details

.verified(claims, options) ⇒ Object



20
21
22
23
24
# File 'lib/jwt_claims.rb', line 20

def verified(claims, options)
  rejected_claims = Validation.rejected(claims, options)
  return {ok: claims} if rejected_claims.empty?
  {error: rejected_claims}
end

.verify(jwt, options) ⇒ Hash

Returns { ok: { the jwt claims set hash } }, or { error: [symbols of all rejected claims] }.

Parameters:

  • jwt (String)

    JSON web token

  • options (Hash)

    expected values for certain claims; optional keys include: :aud, :iss, :jti, :sub, :leeway_seconds

Returns:

  • (Hash)

    { ok: { the jwt claims set hash } }, or { error: [symbols of all rejected claims] }



12
13
14
15
16
17
18
# File 'lib/jwt_claims.rb', line 12

def verify(jwt, options)
  hsh = JsonWebToken.verify(jwt, options)
  return {error: 'invalid JWT'} if hsh[:error]
  claims = hsh[:ok]
  return {error: 'invalid input'} unless claims
  verified(claims, options)
end