ruby_jwt 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12a81af8351dec3535a610f497e1a63744bd6634
4
- data.tar.gz: 6b26382441a091ee8c064498a8a09158237ee1cf
3
+ metadata.gz: c4cbb15c0565682d76db4fe78a7fe3319880f18c
4
+ data.tar.gz: f5048fdf0dc03828571897565c1b04f430eefe74
5
5
  SHA512:
6
- metadata.gz: 38e06e77cbc8e0a2fb6ee0651ea71f47f44289977d5130c0c377f4470dbc1c840af1b7ae535b7963af955421a9c8800f250ebb61f6fb09fd1676a2736315fa2b
7
- data.tar.gz: 8ba33e322dcc0941d32636ea45e4b005b68b92aa9a1a208944c1eecc3ed357ad1a93d76e626250fec3e9610470d538cb2f7290661d2ee03893b3f2f9a5791b30
6
+ metadata.gz: cba160295a71a7c82d1c05f1f8989cff38e738092e4dd1d56b240a27342e134051f64c50e68b08a756960518bdfe3a54be8f36b854d99a0c61c8312b0669d7d5
7
+ data.tar.gz: 5febbbe81750d6837c1187673d67ca0c2fc531701a0b2af28ed4d2feee1f3f5d17dd32584cd7f58c7ae7d4f2bb7fb414734c53191716cb17526ff8be064ee1a7
@@ -1,3 +1,3 @@
1
1
  module RubyJwt
2
- VERSION = "1.0.8"
2
+ VERSION = "1.0.9"
3
3
  end
data/lib/ruby_jwt.rb CHANGED
@@ -15,11 +15,12 @@ module JWT
15
15
  end
16
16
  end
17
17
  class VerificationResponse
18
- attr_accessor :success, :message
18
+ attr_accessor :success, :message, :decoded_token
19
19
 
20
- def initialize(success,message)
20
+ def initialize(success,message, decoded = nil)
21
21
  @success = success
22
22
  @message = message
23
+ @decoded_token = decoded
23
24
  end
24
25
  end
25
26
 
@@ -28,10 +29,7 @@ module JWT
28
29
  # end
29
30
 
30
31
  SIGNATURES = {"256" => OpenSSL::Digest::SHA256.new(), "384" => OpenSSL::Digest::SHA384.new(), "512" => OpenSSL::Digest::SHA512.new()}
31
- # SIGNATURES = {
32
- # "HS256" => OpenSSL::Digest::SHA256.new(), "HS384" => OpenSSL::Digest::SHA384.new(), "HS512" => OpenSSL::Digest::SHA512.new(),
33
- # "RS256" => OpenSSL::Digest::SHA256.new(), "RS384" => OpenSSL::Digest::SHA384.new(), "RS512" => OpenSSL::Digest::SHA512.new()
34
- # }
32
+
35
33
  module_function
36
34
 
37
35
  def sign(payload,key,payload_options,header_options)
@@ -91,7 +89,7 @@ module JWT
91
89
 
92
90
  return VerificationResponse.new(false,"JWT signature is invalid.") if !verify_signature(alg,secret,jwt_parts[0..1].join("."),signature)
93
91
 
94
- return VerificationResponse.new(true,"JWT is valid.")
92
+ return VerificationResponse.new(true,"JWT is valid.",decode(token))
95
93
  end
96
94
 
97
95
 
@@ -3676,5 +3676,265 @@ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
3676
3676
   (0.0ms) begin transaction
3677
3677
  -----------------------------------------------
3678
3678
  RubyJwtTest: test_should_encode_and_decode_none
3679
+ -----------------------------------------------
3680
+  (0.0ms) rollback transaction
3681
+  (0.1ms) begin transaction
3682
+ -----------------------------------------------------
3683
+ RubyJwtTest: test_decodes_and_verifies_existing_token
3684
+ -----------------------------------------------------
3685
+  (0.0ms) rollback transaction
3686
+  (0.0ms) begin transaction
3687
+ ---------------------------------------------------------
3688
+ RubyJwtTest: test_returns_decode_error_for_invalid_base64
3689
+ ---------------------------------------------------------
3690
+  (0.0ms) rollback transaction
3691
+  (0.0ms) begin transaction
3692
+ ---------------------------------------------
3693
+ RubyJwtTest: test_returns_false_if_before_nbf
3694
+ ---------------------------------------------
3695
+  (0.0ms) rollback transaction
3696
+  (0.0ms) begin transaction
3697
+ ------------------------------------------
3698
+ RubyJwtTest: test_returns_false_if_expired
3699
+ ------------------------------------------
3700
+  (0.0ms) rollback transaction
3701
+  (0.0ms) begin transaction
3702
+ ----------------------------------------------------
3703
+ RubyJwtTest: test_returns_false_if_invalid_signature
3704
+ ----------------------------------------------------
3705
+  (0.0ms) rollback transaction
3706
+  (0.0ms) begin transaction
3707
+ -------------------------------------------------
3708
+ RubyJwtTest: test_returns_false_if_wrong_audience
3709
+ -------------------------------------------------
3710
+  (0.0ms) rollback transaction
3711
+  (0.0ms) begin transaction
3712
+ -----------------------------------------------
3713
+ RubyJwtTest: test_returns_false_if_wrong_issuer
3714
+ -----------------------------------------------
3715
+  (0.0ms) rollback transaction
3716
+  (0.0ms) begin transaction
3717
+ -------------------------------------------------------------------------
3718
+ RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
3719
+ -------------------------------------------------------------------------
3720
+  (0.0ms) rollback transaction
3721
+  (0.0ms) begin transaction
3722
+ -----------------------------------------------
3723
+ RubyJwtTest: test_returns_sign_error_for_no_key
3724
+ -----------------------------------------------
3725
+  (0.0ms) rollback transaction
3726
+  (0.0ms) begin transaction
3727
+ ------------------------------------------------
3728
+ RubyJwtTest: test_should_encode_and_decode_ECDSA
3729
+ ------------------------------------------------
3730
+  (0.0ms) rollback transaction
3731
+  (0.0ms) begin transaction
3732
+ ----------------------------------------------
3733
+ RubyJwtTest: test_should_encode_and_decode_RSA
3734
+ ----------------------------------------------
3735
+  (0.0ms) rollback transaction
3736
+  (0.0ms) begin transaction
3737
+ ----------------------------------------------------------
3738
+ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
3739
+ ----------------------------------------------------------
3740
+  (0.0ms) rollback transaction
3741
+  (0.0ms) begin transaction
3742
+ -----------------------------------------------
3743
+ RubyJwtTest: test_should_encode_and_decode_none
3744
+ -----------------------------------------------
3745
+  (0.0ms) rollback transaction
3746
+  (0.1ms) begin transaction
3747
+ -----------------------------------------------------
3748
+ RubyJwtTest: test_decodes_and_verifies_existing_token
3749
+ -----------------------------------------------------
3750
+  (0.0ms) rollback transaction
3751
+  (0.0ms) begin transaction
3752
+ ---------------------------------------------------------
3753
+ RubyJwtTest: test_returns_decode_error_for_invalid_base64
3754
+ ---------------------------------------------------------
3755
+  (0.0ms) rollback transaction
3756
+  (0.0ms) begin transaction
3757
+ ---------------------------------------------
3758
+ RubyJwtTest: test_returns_false_if_before_nbf
3759
+ ---------------------------------------------
3760
+  (0.1ms) rollback transaction
3761
+  (0.1ms) begin transaction
3762
+ ------------------------------------------
3763
+ RubyJwtTest: test_returns_false_if_expired
3764
+ ------------------------------------------
3765
+  (0.0ms) rollback transaction
3766
+  (0.0ms) begin transaction
3767
+ ----------------------------------------------------
3768
+ RubyJwtTest: test_returns_false_if_invalid_signature
3769
+ ----------------------------------------------------
3770
+  (0.0ms) rollback transaction
3771
+  (0.0ms) begin transaction
3772
+ -------------------------------------------------
3773
+ RubyJwtTest: test_returns_false_if_wrong_audience
3774
+ -------------------------------------------------
3775
+  (0.0ms) rollback transaction
3776
+  (0.0ms) begin transaction
3777
+ -----------------------------------------------
3778
+ RubyJwtTest: test_returns_false_if_wrong_issuer
3779
+ -----------------------------------------------
3780
+  (0.1ms) rollback transaction
3781
+  (0.0ms) begin transaction
3782
+ -------------------------------------------------------------------------
3783
+ RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
3784
+ -------------------------------------------------------------------------
3785
+  (0.0ms) rollback transaction
3786
+  (0.0ms) begin transaction
3787
+ -----------------------------------------------
3788
+ RubyJwtTest: test_returns_sign_error_for_no_key
3789
+ -----------------------------------------------
3790
+  (0.0ms) rollback transaction
3791
+  (0.0ms) begin transaction
3792
+ ------------------------------------------------
3793
+ RubyJwtTest: test_should_encode_and_decode_ECDSA
3794
+ ------------------------------------------------
3795
+  (0.0ms) rollback transaction
3796
+  (0.0ms) begin transaction
3797
+ ----------------------------------------------
3798
+ RubyJwtTest: test_should_encode_and_decode_RSA
3799
+ ----------------------------------------------
3800
+  (0.0ms) rollback transaction
3801
+  (0.0ms) begin transaction
3802
+ ----------------------------------------------------------
3803
+ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
3804
+ ----------------------------------------------------------
3805
+  (0.0ms) rollback transaction
3806
+  (0.0ms) begin transaction
3807
+ -----------------------------------------------
3808
+ RubyJwtTest: test_should_encode_and_decode_none
3809
+ -----------------------------------------------
3810
+  (0.0ms) rollback transaction
3811
+  (0.1ms) begin transaction
3812
+ -----------------------------------------------------
3813
+ RubyJwtTest: test_decodes_and_verifies_existing_token
3814
+ -----------------------------------------------------
3815
+  (0.0ms) rollback transaction
3816
+  (0.0ms) begin transaction
3817
+ ---------------------------------------------------------
3818
+ RubyJwtTest: test_returns_decode_error_for_invalid_base64
3819
+ ---------------------------------------------------------
3820
+  (0.0ms) rollback transaction
3821
+  (0.0ms) begin transaction
3822
+ ---------------------------------------------
3823
+ RubyJwtTest: test_returns_false_if_before_nbf
3824
+ ---------------------------------------------
3825
+  (0.0ms) rollback transaction
3826
+  (0.0ms) begin transaction
3827
+ ------------------------------------------
3828
+ RubyJwtTest: test_returns_false_if_expired
3829
+ ------------------------------------------
3830
+  (0.0ms) rollback transaction
3831
+  (0.0ms) begin transaction
3832
+ ----------------------------------------------------
3833
+ RubyJwtTest: test_returns_false_if_invalid_signature
3834
+ ----------------------------------------------------
3835
+  (0.0ms) rollback transaction
3836
+  (0.0ms) begin transaction
3837
+ -------------------------------------------------
3838
+ RubyJwtTest: test_returns_false_if_wrong_audience
3839
+ -------------------------------------------------
3840
+  (0.0ms) rollback transaction
3841
+  (0.0ms) begin transaction
3842
+ -----------------------------------------------
3843
+ RubyJwtTest: test_returns_false_if_wrong_issuer
3844
+ -----------------------------------------------
3845
+  (0.0ms) rollback transaction
3846
+  (0.0ms) begin transaction
3847
+ -------------------------------------------------------------------------
3848
+ RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
3849
+ -------------------------------------------------------------------------
3850
+  (0.0ms) rollback transaction
3851
+  (0.1ms) begin transaction
3852
+ -----------------------------------------------
3853
+ RubyJwtTest: test_returns_sign_error_for_no_key
3854
+ -----------------------------------------------
3855
+  (0.0ms) rollback transaction
3856
+  (0.0ms) begin transaction
3857
+ ------------------------------------------------
3858
+ RubyJwtTest: test_should_encode_and_decode_ECDSA
3859
+ ------------------------------------------------
3860
+  (0.0ms) rollback transaction
3861
+  (0.0ms) begin transaction
3862
+ ----------------------------------------------
3863
+ RubyJwtTest: test_should_encode_and_decode_RSA
3864
+ ----------------------------------------------
3865
+  (0.0ms) rollback transaction
3866
+  (0.0ms) begin transaction
3867
+ ----------------------------------------------------------
3868
+ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
3869
+ ----------------------------------------------------------
3870
+  (0.0ms) rollback transaction
3871
+  (0.0ms) begin transaction
3872
+ -----------------------------------------------
3873
+ RubyJwtTest: test_should_encode_and_decode_none
3874
+ -----------------------------------------------
3875
+  (0.0ms) rollback transaction
3876
+  (0.1ms) begin transaction
3877
+ -----------------------------------------------------
3878
+ RubyJwtTest: test_decodes_and_verifies_existing_token
3879
+ -----------------------------------------------------
3880
+  (0.0ms) rollback transaction
3881
+  (0.0ms) begin transaction
3882
+ ---------------------------------------------------------
3883
+ RubyJwtTest: test_returns_decode_error_for_invalid_base64
3884
+ ---------------------------------------------------------
3885
+  (0.0ms) rollback transaction
3886
+  (0.1ms) begin transaction
3887
+ ---------------------------------------------
3888
+ RubyJwtTest: test_returns_false_if_before_nbf
3889
+ ---------------------------------------------
3890
+  (0.0ms) rollback transaction
3891
+  (0.0ms) begin transaction
3892
+ ------------------------------------------
3893
+ RubyJwtTest: test_returns_false_if_expired
3894
+ ------------------------------------------
3895
+  (0.0ms) rollback transaction
3896
+  (0.0ms) begin transaction
3897
+ ----------------------------------------------------
3898
+ RubyJwtTest: test_returns_false_if_invalid_signature
3899
+ ----------------------------------------------------
3900
+  (0.0ms) rollback transaction
3901
+  (0.0ms) begin transaction
3902
+ -------------------------------------------------
3903
+ RubyJwtTest: test_returns_false_if_wrong_audience
3904
+ -------------------------------------------------
3905
+  (0.0ms) rollback transaction
3906
+  (0.0ms) begin transaction
3907
+ -----------------------------------------------
3908
+ RubyJwtTest: test_returns_false_if_wrong_issuer
3909
+ -----------------------------------------------
3910
+  (0.0ms) rollback transaction
3911
+  (0.0ms) begin transaction
3912
+ -------------------------------------------------------------------------
3913
+ RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
3914
+ -------------------------------------------------------------------------
3915
+  (0.0ms) rollback transaction
3916
+  (0.0ms) begin transaction
3917
+ -----------------------------------------------
3918
+ RubyJwtTest: test_returns_sign_error_for_no_key
3919
+ -----------------------------------------------
3920
+  (0.0ms) rollback transaction
3921
+  (0.0ms) begin transaction
3922
+ ------------------------------------------------
3923
+ RubyJwtTest: test_should_encode_and_decode_ECDSA
3924
+ ------------------------------------------------
3925
+  (0.1ms) rollback transaction
3926
+  (0.0ms) begin transaction
3927
+ ----------------------------------------------
3928
+ RubyJwtTest: test_should_encode_and_decode_RSA
3929
+ ----------------------------------------------
3930
+  (0.0ms) rollback transaction
3931
+  (0.0ms) begin transaction
3932
+ ----------------------------------------------------------
3933
+ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
3934
+ ----------------------------------------------------------
3935
+  (0.0ms) rollback transaction
3936
+  (0.0ms) begin transaction
3937
+ -----------------------------------------------
3938
+ RubyJwtTest: test_should_encode_and_decode_none
3679
3939
  -----------------------------------------------
3680
3940
   (0.0ms) rollback transaction
@@ -14,7 +14,7 @@ class RubyJwtTest < ActiveSupport::TestCase
14
14
  jwt = JWT.sign(@payload,@secret,@payload_options,nil)
15
15
  decoded = JWT.decode(jwt)
16
16
  verified_jwt = JWT.verify(jwt,@secret,@payload_options)
17
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success)
17
+ assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
18
18
  end
19
19
 
20
20
  test "should encode and decode none" do
@@ -22,7 +22,7 @@ class RubyJwtTest < ActiveSupport::TestCase
22
22
  jwt = JWT.sign(@payload,nil,@payload_options,@header)
23
23
  decoded = JWT.decode(jwt)
24
24
  verified_jwt = JWT.verify(jwt,nil,@payload_options)
25
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success)
25
+ assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
26
26
  end
27
27
 
28
28
  test "should encode and decode RSA" do
@@ -30,7 +30,7 @@ class RubyJwtTest < ActiveSupport::TestCase
30
30
  jwt = JWT.sign(@payload,@key,@payload_options,@header)
31
31
  decoded = JWT.decode(jwt)
32
32
  verified_jwt = JWT.verify(jwt,@key,@payload_options)
33
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success)
33
+ assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
34
34
  end
35
35
 
36
36
  test "should encode and decode ECDSA" do
@@ -40,7 +40,7 @@ class RubyJwtTest < ActiveSupport::TestCase
40
40
  jwt = JWT.sign(@payload,pk,@payload_options,@header)
41
41
  decoded = JWT.decode(jwt)
42
42
  verified_jwt = JWT.verify(jwt,pk,@payload_options)
43
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success)
43
+ assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
44
44
  end
45
45
 
46
46
  test "decodes and verifies existing token" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_jwt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Weston