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'