File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
3+ require_relative 'encoded_token/claims_context'
4+
35module JWT
46 # Represents an encoded JWT token
57 #
@@ -12,22 +14,6 @@ module JWT
1214 # encoded_token.verify_signature!(algorithm: 'HS256', key: 'secret')
1315 # encoded_token.payload # => {'pay' => 'load'}
1416 class EncodedToken
15- # @private
16- # Allow access to the unverified payload for claim verification.
17- class ClaimsContext
18- extend Forwardable
19-
20- def_delegators :@token , :header , :unverified_payload
21-
22- def initialize ( token )
23- @token = token
24- end
25-
26- def payload
27- unverified_payload
28- end
29- end
30-
3117 DEFAULT_CLAIMS = [ :exp ] . freeze
3218
3319 private_constant ( :DEFAULT_CLAIMS )
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'forwardable'
4+
5+ module JWT
6+ # @private
7+ class EncodedToken
8+ # Allow access to the unverified payload for claim verification.
9+ class ClaimsContext
10+ extend Forwardable
11+
12+ def_delegators :@token , :header , :unverified_payload
13+
14+ def initialize ( token )
15+ @token = token
16+ end
17+
18+ def payload
19+ unverified_payload
20+ end
21+ end
22+ end
23+ end
Original file line number Diff line number Diff line change 99require_relative 'jwa/ps'
1010require_relative 'jwa/rsa'
1111require_relative 'jwa/unsupported'
12+ require_relative 'jwa/verifier_context'
13+ require_relative 'jwa/signer_context'
1214
1315module JWT
1416 # The JWA module contains all supported algorithms.
1517 module JWA
16- # @api private
17- class VerifierContext
18- attr_reader :jwa
19-
20- def initialize ( jwa :, keys :)
21- @jwa = jwa
22- @keys = Array ( keys )
23- end
24-
25- def verify ( *args , **kwargs )
26- @keys . any? do |key |
27- @jwa . verify ( *args , **kwargs , verification_key : key )
28- end
29- end
30- end
31-
32- # @api private
33- class SignerContext
34- attr_reader :jwa
35-
36- def initialize ( jwa :, key :)
37- @jwa = jwa
38- @key = key
39- end
40-
41- def sign ( *args , **kwargs )
42- @jwa . sign ( *args , **kwargs , signing_key : @key )
43- end
44- end
45-
4618 class << self
4719 # @api private
4820 def resolve ( algorithm )
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module JWT
4+ module JWA
5+ # @api private
6+ class SignerContext
7+ attr_reader :jwa
8+
9+ def initialize ( jwa :, key :)
10+ @jwa = jwa
11+ @key = key
12+ end
13+
14+ def sign ( *args , **kwargs )
15+ @jwa . sign ( *args , **kwargs , signing_key : @key )
16+ end
17+ end
18+ end
19+ end
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module JWT
4+ module JWA
5+ # @api private
6+ class VerifierContext
7+ attr_reader :jwa
8+
9+ def initialize ( jwa :, keys :)
10+ @jwa = jwa
11+ @keys = Array ( keys )
12+ end
13+
14+ def verify ( *args , **kwargs )
15+ @keys . any? do |key |
16+ @jwa . verify ( *args , **kwargs , verification_key : key )
17+ end
18+ end
19+ end
20+ end
21+ end
You can’t perform that action at this time.
0 commit comments