ruby_jwt 1.0.4 → 1.0.5
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 +4 -4
- data/lib/ruby_jwt/version.rb +1 -1
- data/lib/ruby_jwt.rb +9 -0
- data/test/dummy/log/test.log +300 -0
- data/test/ruby_jwt_test.rb +10 -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: b88afcd3172aa7eda1be4a86e2b524e8a4f34748
|
|
4
|
+
data.tar.gz: 77b511898b500b59dd0e36a5abde641784093018
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96b91b546ccea3307c61920f42d865e8fd015e8095d51345a1b9b3aad75fff14289cd554d933ce72ebb7d7aa22a93c0a3c5aa110a9c15545b98c2053c2112679
|
|
7
|
+
data.tar.gz: eb1cfe0f74de8f989e4c4b9fa2c8be4656a30d6544ec11972b3c3dcc6bd0e1466849128dab53a0633bdbe6f77e2c22fc5abe73d88696ec1d40ca7364cb479f16
|
data/lib/ruby_jwt/version.rb
CHANGED
data/lib/ruby_jwt.rb
CHANGED
|
@@ -22,6 +22,11 @@ module JWT
|
|
|
22
22
|
@message = message
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
|
+
|
|
26
|
+
class OpenSSL::PKey::EC
|
|
27
|
+
alias_method :private?, :private_key?
|
|
28
|
+
end
|
|
29
|
+
|
|
25
30
|
SIGNATURES = {"256" => OpenSSL::Digest::SHA256.new(), "384" => OpenSSL::Digest::SHA384.new(), "512" => OpenSSL::Digest::SHA512.new()}
|
|
26
31
|
# SIGNATURES = {
|
|
27
32
|
# "HS256" => OpenSSL::Digest::SHA256.new(), "HS384" => OpenSSL::Digest::SHA384.new(), "HS512" => OpenSSL::Digest::SHA512.new(),
|
|
@@ -110,6 +115,8 @@ module JWT
|
|
|
110
115
|
return base64urlencode(OpenSSL::HMAC.digest(SIGNATURES[alg.gsub("HS","")], key, data))
|
|
111
116
|
when "RS256", "RS384", "RS512"
|
|
112
117
|
return base64urlencode(key.sign(SIGNATURES[alg.gsub("RS","")],data))
|
|
118
|
+
when "ES256", "ES384", "ES512"
|
|
119
|
+
return base64urlencode(key.sign(SIGNATURES[alg.gsub("ES","")],data))
|
|
113
120
|
else
|
|
114
121
|
raise NotImplementedError.new("Unsupported signing method!")
|
|
115
122
|
end
|
|
@@ -123,6 +130,8 @@ module JWT
|
|
|
123
130
|
return time_compare(signature,OpenSSL::HMAC.digest(SIGNATURES[alg.gsub("HS","")], key, data))
|
|
124
131
|
when "RS256", "RS384", "RS512"
|
|
125
132
|
return key.verify(SIGNATURES[alg.gsub("RS","")],signature, data)
|
|
133
|
+
when "ES256", "ES384", "ES512"
|
|
134
|
+
return key.verify(SIGNATURES[alg.gsub("ES","")],signature, data)
|
|
126
135
|
else
|
|
127
136
|
raise NotImplementedError.new("Unsupported signing method!")
|
|
128
137
|
end
|
data/test/dummy/log/test.log
CHANGED
|
@@ -1838,3 +1838,303 @@ RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
|
1838
1838
|
RubyJwtTest: test_should_encode_and_decode_none
|
|
1839
1839
|
-----------------------------------------------
|
|
1840
1840
|
[1m[35m (0.0ms)[0m rollback transaction
|
|
1841
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1842
|
+
-----------------------------------------------------
|
|
1843
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
|
1844
|
+
-----------------------------------------------------
|
|
1845
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1846
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1847
|
+
---------------------------------------------------------
|
|
1848
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
|
1849
|
+
---------------------------------------------------------
|
|
1850
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1851
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1852
|
+
------------------------------------------
|
|
1853
|
+
RubyJwtTest: test_returns_false_if_expired
|
|
1854
|
+
------------------------------------------
|
|
1855
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
1856
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1857
|
+
----------------------------------------------------
|
|
1858
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
|
1859
|
+
----------------------------------------------------
|
|
1860
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1861
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1862
|
+
-------------------------------------------------
|
|
1863
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
|
1864
|
+
-------------------------------------------------
|
|
1865
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1866
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1867
|
+
-----------------------------------------------
|
|
1868
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
|
1869
|
+
-----------------------------------------------
|
|
1870
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
1871
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1872
|
+
-------------------------------------------------------------------------
|
|
1873
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
|
1874
|
+
-------------------------------------------------------------------------
|
|
1875
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1876
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1877
|
+
-----------------------------------------------
|
|
1878
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
|
1879
|
+
-----------------------------------------------
|
|
1880
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1881
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1882
|
+
------------------------------------------------
|
|
1883
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
|
1884
|
+
------------------------------------------------
|
|
1885
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1886
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1887
|
+
----------------------------------------------
|
|
1888
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
|
1889
|
+
----------------------------------------------
|
|
1890
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
1891
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1892
|
+
----------------------------------------------------------
|
|
1893
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
1894
|
+
----------------------------------------------------------
|
|
1895
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1896
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1897
|
+
-----------------------------------------------
|
|
1898
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
|
1899
|
+
-----------------------------------------------
|
|
1900
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1901
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1902
|
+
-----------------------------------------------------
|
|
1903
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
|
1904
|
+
-----------------------------------------------------
|
|
1905
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1906
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1907
|
+
---------------------------------------------------------
|
|
1908
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
|
1909
|
+
---------------------------------------------------------
|
|
1910
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1911
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1912
|
+
------------------------------------------
|
|
1913
|
+
RubyJwtTest: test_returns_false_if_expired
|
|
1914
|
+
------------------------------------------
|
|
1915
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1916
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1917
|
+
----------------------------------------------------
|
|
1918
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
|
1919
|
+
----------------------------------------------------
|
|
1920
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1921
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1922
|
+
-------------------------------------------------
|
|
1923
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
|
1924
|
+
-------------------------------------------------
|
|
1925
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1926
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1927
|
+
-----------------------------------------------
|
|
1928
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
|
1929
|
+
-----------------------------------------------
|
|
1930
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
1931
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1932
|
+
-------------------------------------------------------------------------
|
|
1933
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
|
1934
|
+
-------------------------------------------------------------------------
|
|
1935
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1936
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1937
|
+
-----------------------------------------------
|
|
1938
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
|
1939
|
+
-----------------------------------------------
|
|
1940
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1941
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1942
|
+
------------------------------------------------
|
|
1943
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
|
1944
|
+
------------------------------------------------
|
|
1945
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1946
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1947
|
+
----------------------------------------------
|
|
1948
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
|
1949
|
+
----------------------------------------------
|
|
1950
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1951
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1952
|
+
----------------------------------------------------------
|
|
1953
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
1954
|
+
----------------------------------------------------------
|
|
1955
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1956
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1957
|
+
-----------------------------------------------
|
|
1958
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
|
1959
|
+
-----------------------------------------------
|
|
1960
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1961
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1962
|
+
-----------------------------------------------------
|
|
1963
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
|
1964
|
+
-----------------------------------------------------
|
|
1965
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1966
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1967
|
+
---------------------------------------------------------
|
|
1968
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
|
1969
|
+
---------------------------------------------------------
|
|
1970
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1971
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1972
|
+
------------------------------------------
|
|
1973
|
+
RubyJwtTest: test_returns_false_if_expired
|
|
1974
|
+
------------------------------------------
|
|
1975
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1976
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1977
|
+
----------------------------------------------------
|
|
1978
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
|
1979
|
+
----------------------------------------------------
|
|
1980
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1981
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1982
|
+
-------------------------------------------------
|
|
1983
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
|
1984
|
+
-------------------------------------------------
|
|
1985
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1986
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
1987
|
+
-----------------------------------------------
|
|
1988
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
|
1989
|
+
-----------------------------------------------
|
|
1990
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1991
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1992
|
+
-------------------------------------------------------------------------
|
|
1993
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
|
1994
|
+
-------------------------------------------------------------------------
|
|
1995
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
1996
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
1997
|
+
-----------------------------------------------
|
|
1998
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
|
1999
|
+
-----------------------------------------------
|
|
2000
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2001
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2002
|
+
------------------------------------------------
|
|
2003
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
|
2004
|
+
------------------------------------------------
|
|
2005
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
2006
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
2007
|
+
----------------------------------------------
|
|
2008
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
|
2009
|
+
----------------------------------------------
|
|
2010
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2011
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2012
|
+
----------------------------------------------------------
|
|
2013
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
2014
|
+
----------------------------------------------------------
|
|
2015
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2016
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
2017
|
+
-----------------------------------------------
|
|
2018
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
|
2019
|
+
-----------------------------------------------
|
|
2020
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2021
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
2022
|
+
-----------------------------------------------------
|
|
2023
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
|
2024
|
+
-----------------------------------------------------
|
|
2025
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2026
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2027
|
+
---------------------------------------------------------
|
|
2028
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
|
2029
|
+
---------------------------------------------------------
|
|
2030
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2031
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2032
|
+
------------------------------------------
|
|
2033
|
+
RubyJwtTest: test_returns_false_if_expired
|
|
2034
|
+
------------------------------------------
|
|
2035
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2036
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2037
|
+
----------------------------------------------------
|
|
2038
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
|
2039
|
+
----------------------------------------------------
|
|
2040
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2041
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2042
|
+
-------------------------------------------------
|
|
2043
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
|
2044
|
+
-------------------------------------------------
|
|
2045
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2046
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2047
|
+
-----------------------------------------------
|
|
2048
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
|
2049
|
+
-----------------------------------------------
|
|
2050
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2051
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2052
|
+
-------------------------------------------------------------------------
|
|
2053
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
|
2054
|
+
-------------------------------------------------------------------------
|
|
2055
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2056
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2057
|
+
-----------------------------------------------
|
|
2058
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
|
2059
|
+
-----------------------------------------------
|
|
2060
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2061
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2062
|
+
------------------------------------------------
|
|
2063
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
|
2064
|
+
------------------------------------------------
|
|
2065
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2066
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2067
|
+
----------------------------------------------
|
|
2068
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
|
2069
|
+
----------------------------------------------
|
|
2070
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2071
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2072
|
+
----------------------------------------------------------
|
|
2073
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
2074
|
+
----------------------------------------------------------
|
|
2075
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2076
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2077
|
+
-----------------------------------------------
|
|
2078
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
|
2079
|
+
-----------------------------------------------
|
|
2080
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2081
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
|
2082
|
+
-----------------------------------------------------
|
|
2083
|
+
RubyJwtTest: test_decodes_and_verifies_existing_token
|
|
2084
|
+
-----------------------------------------------------
|
|
2085
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2086
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2087
|
+
---------------------------------------------------------
|
|
2088
|
+
RubyJwtTest: test_returns_decode_error_for_invalid_base64
|
|
2089
|
+
---------------------------------------------------------
|
|
2090
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2091
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2092
|
+
------------------------------------------
|
|
2093
|
+
RubyJwtTest: test_returns_false_if_expired
|
|
2094
|
+
------------------------------------------
|
|
2095
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2096
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2097
|
+
----------------------------------------------------
|
|
2098
|
+
RubyJwtTest: test_returns_false_if_invalid_signature
|
|
2099
|
+
----------------------------------------------------
|
|
2100
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2101
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2102
|
+
-------------------------------------------------
|
|
2103
|
+
RubyJwtTest: test_returns_false_if_wrong_audience
|
|
2104
|
+
-------------------------------------------------
|
|
2105
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2106
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2107
|
+
-----------------------------------------------
|
|
2108
|
+
RubyJwtTest: test_returns_false_if_wrong_issuer
|
|
2109
|
+
-----------------------------------------------
|
|
2110
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2111
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2112
|
+
-------------------------------------------------------------------------
|
|
2113
|
+
RubyJwtTest: test_returns_not_implemented_error_for_unsupported_algorithm
|
|
2114
|
+
-------------------------------------------------------------------------
|
|
2115
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2116
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2117
|
+
-----------------------------------------------
|
|
2118
|
+
RubyJwtTest: test_returns_sign_error_for_no_key
|
|
2119
|
+
-----------------------------------------------
|
|
2120
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2121
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2122
|
+
------------------------------------------------
|
|
2123
|
+
RubyJwtTest: test_should_encode_and_decode_ECDSA
|
|
2124
|
+
------------------------------------------------
|
|
2125
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
|
2126
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2127
|
+
----------------------------------------------
|
|
2128
|
+
RubyJwtTest: test_should_encode_and_decode_RSA
|
|
2129
|
+
----------------------------------------------
|
|
2130
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2131
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2132
|
+
----------------------------------------------------------
|
|
2133
|
+
RubyJwtTest: test_should_encode_and_decode_and_verify_hmac
|
|
2134
|
+
----------------------------------------------------------
|
|
2135
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
|
2136
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
|
2137
|
+
-----------------------------------------------
|
|
2138
|
+
RubyJwtTest: test_should_encode_and_decode_none
|
|
2139
|
+
-----------------------------------------------
|
|
2140
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
data/test/ruby_jwt_test.rb
CHANGED
|
@@ -33,6 +33,16 @@ class RubyJwtTest < ActiveSupport::TestCase
|
|
|
33
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)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
+
test "should encode and decode ECDSA" do
|
|
37
|
+
pk = OpenSSL::PKey::EC.new("prime192v1")
|
|
38
|
+
pk.generate_key
|
|
39
|
+
@header = {:typ => "JWT", :alg => "ES384"}
|
|
40
|
+
jwt = JWT.sign(@payload,pk,@payload_options,@header)
|
|
41
|
+
decoded = JWT.decode(jwt)
|
|
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)
|
|
44
|
+
end
|
|
45
|
+
|
|
36
46
|
test "decodes and verifies existing token" do
|
|
37
47
|
secret = "0zWThVpyGq4QujsMHzTqNYZUbeXGB2Sa"
|
|
38
48
|
token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJDaHJpcyBXZXN0b24iLCJpYXQiOjE0MTA2MTc1NzQsImV4cCI6MTY5MDUwNzYzOTcsImF1ZCI6Ind3dy5leGFtcGxlLmNvbSIsInN1YiI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJHaXZlbk5hbWUiOiJKb2hubnkiLCJTdXJuYW1lIjoiUm9ja2V0IiwiRW1haWwiOiJqcm9ja2V0QGV4YW1wbGUuY29tIiwiUm9sZSI6WyJNYW5hZ2VyIiwiUHJvamVjdCBBZG1pbmlzdHJhdG9yIl19.llRwkrzrkAu_n4XFGvZpHR3J_p_Ow3er7LxJBZS-4M4"
|