ruby_jwt 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
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