spec/integration/readme_examples_spec.rb in jwt-1.5.6 vs spec/integration/readme_examples_spec.rb in jwt-2.0.0.beta1
- old
+ new
@@ -8,25 +8,25 @@
it 'NONE' do
token = JWT.encode payload, nil, 'none'
decoded_token = JWT.decode token, nil, false
- expect(token).to eq 'eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJkYXRhIjoidGVzdCJ9.'
+ expect(token).to eq 'eyJhbGciOiJub25lIn0.eyJkYXRhIjoidGVzdCJ9.'
expect(decoded_token).to eq [
{ 'data' => 'test' },
- { 'typ' => 'JWT', 'alg' => 'none' }
+ { 'alg' => 'none' }
]
end
it 'HMAC' do
token = JWT.encode payload, 'my$ecretK3y', 'HS256'
decoded_token = JWT.decode token, 'my$ecretK3y', false
- expect(token).to eq 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoidGVzdCJ9.ZxW8go9hz3ETCSfxFxpwSkYg_602gOPKearsf6DsxgY'
+ expect(token).to eq 'eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoidGVzdCJ9.pNIWIL34Jo13LViZAJACzK6Yf0qnvT_BuwOxiMCPE-Y'
expect(decoded_token).to eq [
{ 'data' => 'test' },
- { 'typ' => 'JWT', 'alg' => 'HS256' }
+ { 'alg' => 'HS256' }
]
end
it 'RSA' do
rsa_private = OpenSSL::PKey::RSA.generate 2048
@@ -35,11 +35,11 @@
token = JWT.encode payload, rsa_private, 'RS256'
decoded_token = JWT.decode token, rsa_public, true, algorithm: 'RS256'
expect(decoded_token).to eq [
{ 'data' => 'test' },
- { 'typ' => 'JWT', 'alg' => 'RS256' }
+ { 'alg' => 'RS256' }
]
end
it 'ECDSA' do
ecdsa_key = OpenSSL::PKey::EC.new 'prime256v1'
@@ -50,11 +50,11 @@
token = JWT.encode payload, ecdsa_key, 'ES256'
decoded_token = JWT.decode token, ecdsa_public, true, algorithm: 'ES256'
expect(decoded_token).to eq [
{ 'data' => 'test' },
- { 'typ' => 'JWT', 'alg' => 'ES256' }
+ { 'alg' => 'ES256' }
]
end
end
context 'claims' do
@@ -171,9 +171,20 @@
token = JWT.encode iat_payload, hmac_secret, 'HS256'
expect do
JWT.decode token, hmac_secret, true, verify_iat: true, algorithm: 'HS256'
end.not_to raise_error
+ end
+ end
+
+ context 'custom header fields' do
+ it 'with custom field' do
+ payload = { data: 'test' }
+
+ token = JWT.encode payload, nil, 'none', typ: 'JWT'
+ _, header = JWT.decode token, nil, false
+
+ expect(header['typ']).to eq 'JWT'
end
end
it 'sub' do
sub = 'Subject'