ruby_jwt 1.0.9 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ruby_jwt/version.rb +1 -1
- data/lib/ruby_jwt.rb +5 -4
- data/test/dummy/log/test.log +130 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e38ce66749c2472c721f6a21231267f4cae483a
|
4
|
+
data.tar.gz: 7fee6ca4a796980f08c810df27d8e7677b8515ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 110764e7fa85906de5db32fad455dc4351fccb63baff36f7b942ffb2e0611f746aca0e8a93f916ae071d43e6a70b59820c7e35080f0cd94f2fddf31368f5203b
|
7
|
+
data.tar.gz: 0d0b9cbc8a5137209e9e90937c26b2fb4fe39e69d971066bffc823a4f09988ec6a98fa286b1caf8abbf7782da3f95ac1c2bf7e6d289cee6877f332cce4ded671
|
data/lib/ruby_jwt/version.rb
CHANGED
data/lib/ruby_jwt.rb
CHANGED
@@ -65,10 +65,11 @@ module JWT
|
|
65
65
|
def verify(token,secret,options={})
|
66
66
|
return VerificationResponse.new(false, "JWT cannot be blank") if !token or token.empty?
|
67
67
|
jwt_parts = token.split(".")
|
68
|
-
|
68
|
+
jwt = decode(token)
|
69
|
+
alg = jwt.header[:alg]
|
69
70
|
return VerificationResponse.new(false,"Key cannot be blank if algorithm is not 'none'") if(alg != "none" and !secret)
|
70
|
-
payload =
|
71
|
-
signature = base64urldecode(
|
71
|
+
payload = jwt.payload
|
72
|
+
signature = base64urldecode(jwt.signature) if alg != "none"
|
72
73
|
current_time = Time.now.to_i
|
73
74
|
if(payload[:exp] and current_time >= payload[:exp])
|
74
75
|
return VerificationResponse.new(false,"JWT is expired.")
|
@@ -89,7 +90,7 @@ module JWT
|
|
89
90
|
|
90
91
|
return VerificationResponse.new(false,"JWT signature is invalid.") if !verify_signature(alg,secret,jwt_parts[0..1].join("."),signature)
|
91
92
|
|
92
|
-
return VerificationResponse.new(true,"JWT is valid.",
|
93
|
+
return VerificationResponse.new(true,"JWT is valid.",jwt)
|
93
94
|
end
|
94
95
|
|
95
96
|
|
data/test/dummy/log/test.log
CHANGED
@@ -3936,5 +3936,135 @@ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
3936
3936
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3937
3937
|
-----------------------------------------------
|
3938
3938
|
RubyJwtTest: test_should_encode_and_decode_none
|
3939
|
+
-----------------------------------------------
|
3940
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3941
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
3942
|
+
-----------------------------------------------------
|
3943
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
3944
|
+
-----------------------------------------------------
|
3945
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3946
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3947
|
+
---------------------------------------------------------
|
3948
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
3949
|
+
---------------------------------------------------------
|
3950
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3951
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3952
|
+
---------------------------------------------
|
3953
|
+
RubyJwtTest: test_returns_false_if_before_nbf
|
3954
|
+
---------------------------------------------
|
3955
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3956
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3957
|
+
------------------------------------------
|
3958
|
+
RubyJwtTest: test_returns_false_if_expired
|
3959
|
+
------------------------------------------
|
3960
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3961
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3962
|
+
----------------------------------------------------
|
3963
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
3964
|
+
----------------------------------------------------
|
3965
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3966
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3967
|
+
-------------------------------------------------
|
3968
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
3969
|
+
-------------------------------------------------
|
3970
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3971
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3972
|
+
-----------------------------------------------
|
3973
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
3974
|
+
-----------------------------------------------
|
3975
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3976
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3977
|
+
-------------------------------------------------------------------------
|
3978
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
3979
|
+
-------------------------------------------------------------------------
|
3980
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3981
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3982
|
+
-----------------------------------------------
|
3983
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
3984
|
+
-----------------------------------------------
|
3985
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3986
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3987
|
+
------------------------------------------------
|
3988
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
3989
|
+
------------------------------------------------
|
3990
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3991
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3992
|
+
----------------------------------------------
|
3993
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
3994
|
+
----------------------------------------------
|
3995
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3996
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3997
|
+
----------------------------------------------------------
|
3998
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
3999
|
+
----------------------------------------------------------
|
4000
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4001
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4002
|
+
-----------------------------------------------
|
4003
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
4004
|
+
-----------------------------------------------
|
4005
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4006
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
4007
|
+
-----------------------------------------------------
|
4008
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
4009
|
+
-----------------------------------------------------
|
4010
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4011
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4012
|
+
---------------------------------------------------------
|
4013
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
4014
|
+
---------------------------------------------------------
|
4015
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4016
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4017
|
+
---------------------------------------------
|
4018
|
+
RubyJwtTest: test_returns_false_if_before_nbf
|
4019
|
+
---------------------------------------------
|
4020
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
4021
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4022
|
+
------------------------------------------
|
4023
|
+
RubyJwtTest: test_returns_false_if_expired
|
4024
|
+
------------------------------------------
|
4025
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4026
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4027
|
+
----------------------------------------------------
|
4028
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
4029
|
+
----------------------------------------------------
|
4030
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4031
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4032
|
+
-------------------------------------------------
|
4033
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
4034
|
+
-------------------------------------------------
|
4035
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4036
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4037
|
+
-----------------------------------------------
|
4038
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
4039
|
+
-----------------------------------------------
|
4040
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4041
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4042
|
+
-------------------------------------------------------------------------
|
4043
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
4044
|
+
-------------------------------------------------------------------------
|
4045
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4046
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4047
|
+
-----------------------------------------------
|
4048
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
4049
|
+
-----------------------------------------------
|
4050
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4051
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4052
|
+
------------------------------------------------
|
4053
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
4054
|
+
------------------------------------------------
|
4055
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4056
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4057
|
+
----------------------------------------------
|
4058
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
4059
|
+
----------------------------------------------
|
4060
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4061
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4062
|
+
----------------------------------------------------------
|
4063
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
4064
|
+
----------------------------------------------------------
|
4065
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
4066
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
4067
|
+
-----------------------------------------------
|
4068
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
3939
4069
|
-----------------------------------------------
|
3940
4070
|
[1m[35m (0.0ms)[0m rollback transaction
|