json-jwt 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of json-jwt might be problematic. Click here for more details.

data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- json-jwt (0.4.1)
4
+ json-jwt (0.4.2)
5
5
  activesupport (>= 2.3)
6
6
  i18n
7
- json (>= 1.4.3)
7
+ multi_json (>= 1.3)
8
8
  url_safe_base64
9
9
 
10
10
  GEM
@@ -21,8 +21,6 @@ GEM
21
21
  diff-lcs (1.1.3)
22
22
  hashie (1.2.0)
23
23
  i18n (0.6.1)
24
- json (1.7.6)
25
- json (1.7.6-java)
26
24
  multi_json (1.5.0)
27
25
  rake (10.0.2)
28
26
  rspec (2.12.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
data/json-jwt.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
11
11
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
12
  s.require_paths = ["lib"]
13
- s.add_runtime_dependency "json", ">= 1.4.3"
13
+ s.add_runtime_dependency "multi_json", ">= 1.3"
14
14
  s.add_runtime_dependency "url_safe_base64"
15
15
  s.add_runtime_dependency "activesupport", ">= 2.3"
16
16
  s.add_runtime_dependency "i18n"
data/lib/json/jwk.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module JSON
2
- class JWK < Hash
2
+ class JWK < ActiveSupport::HashWithIndifferentAccess
3
3
  class UnknownAlgorithm < JWT::Exception; end
4
4
 
5
5
  def initialize(public_key, options = {})
data/lib/json/jwt.rb CHANGED
@@ -4,7 +4,7 @@ require 'json'
4
4
  require 'active_support/core_ext'
5
5
 
6
6
  module JSON
7
- class JWT < Hash
7
+ class JWT < ActiveSupport::HashWithIndifferentAccess
8
8
  attr_accessor :header, :signature
9
9
 
10
10
  class Exception < StandardError; end
@@ -55,7 +55,7 @@ module JSON
55
55
  UrlSafeBase64.decode64 segment.to_s
56
56
  end
57
57
  header, claims = [header, claims].collect do |json|
58
- JSON.parse json, :symbolize_names => true, :symbolize_keys => true
58
+ MultiJson.load(json).with_indifferent_access
59
59
  end
60
60
  signature_base_string = jwt_string.split('.')[0, 2].join('.')
61
61
  jwt = new claims
@@ -74,7 +74,7 @@ module JSON
74
74
  else
75
75
  raise InvalidFormat.new('Invalid JWT Format. JWT should include 2 or 3 dots.')
76
76
  end
77
- rescue JSON::ParserError
77
+ rescue MultiJson::DecodeError
78
78
  raise InvalidFormat.new("Invalid JSON Format")
79
79
  end
80
80
  end
@@ -3,14 +3,14 @@ require 'spec_helper'
3
3
  describe JSON::JWK do
4
4
  context 'when RSA public key given' do
5
5
  let(:jwk) { JSON::JWK.new public_key }
6
- it { jwk.should include :alg, :e, :n }
6
+ it { jwk.keys.should include :alg, :e, :n }
7
7
  its(:alg) { jwk[:alg].should == :RSA }
8
8
  its(:e) { jwk[:e].should == UrlSafeBase64.encode64(public_key.e.to_s(2)) }
9
9
  its(:n) { jwk[:n].should == UrlSafeBase64.encode64(public_key.n.to_s(2)) }
10
10
 
11
11
  context 'when kid/use options given' do
12
12
  let(:jwk) { JSON::JWK.new public_key, kid: '12345', use: :sig }
13
- it { jwk.should include :kid, :use }
13
+ it { jwk.keys.should include :kid, :use }
14
14
  its(:kid) { jwk[:kid].should == '12345' }
15
15
  its(:use) { jwk[:use].should == :sig }
16
16
  end
@@ -36,7 +36,7 @@ describe JSON::JWK do
36
36
  [256, 384, 512].each do |digest_length|
37
37
  describe "EC#{digest_length}" do
38
38
  let(:jwk) { JSON::JWK.new public_key(:ecdsa, digest_length: digest_length) }
39
- it { jwk.should include :alg, :crv, :x, :y }
39
+ it { jwk.keys.should include :alg, :crv, :x, :y }
40
40
  its(:alg) { jwk[:alg].should == :EC }
41
41
  its(:x) { jwk[:x].should == expected_coodinates[digest_length][:x] }
42
42
  its(:y) { jwk[:y].should == expected_coodinates[digest_length][:y] }
@@ -12,8 +12,8 @@ describe JSON::JWT do
12
12
  {
13
13
  iss: 'joe',
14
14
  exp: 1300819380,
15
- :'http://example.com/is_root' => true
16
- }
15
+ 'http://example.com/is_root' => true
16
+ }.with_indifferent_access
17
17
  end
18
18
  let(:no_signed) do
19
19
  'eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLCJleHAiOjEzMDA4MTkzODAsImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.'
@@ -50,7 +50,7 @@ describe JSON::JWT do
50
50
  UrlSafeBase64.decode64 segment.to_s
51
51
  end
52
52
  header, claims = [header_base64, claims_base64].collect do |json|
53
- JSON.parse json, symbolize_names: true, symbolize_keys: true
53
+ MultiJson.load(json).with_indifferent_access
54
54
  end
55
55
  jwt = JSON::JWT.new claims
56
56
  jwt.header = header
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-jwt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,16 +9,16 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-24 00:00:00.000000000 Z
12
+ date: 2013-01-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: json
15
+ name: multi_json
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.4.3
21
+ version: '1.3'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.4.3
29
+ version: '1.3'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: url_safe_base64
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -174,7 +174,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
174
  version: '0'
175
175
  segments:
176
176
  - 0
177
- hash: 294812964750732279
177
+ hash: 2523711638554282787
178
178
  required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  none: false
180
180
  requirements:
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  version: '0'
184
184
  segments:
185
185
  - 0
186
- hash: 294812964750732279
186
+ hash: 2523711638554282787
187
187
  requirements: []
188
188
  rubyforge_project:
189
189
  rubygems_version: 1.8.24