oauth 0.4.7 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of oauth might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.rdoc +8 -8
- data/lib/oauth.rb +1 -3
- data/lib/oauth/cli.rb +3 -3
- data/lib/oauth/client/helper.rb +4 -0
- data/lib/oauth/client/net_http.rb +9 -7
- data/lib/oauth/consumer.rb +9 -5
- data/lib/oauth/helper.rb +3 -3
- data/lib/oauth/request_proxy/action_controller_request.rb +26 -2
- data/lib/oauth/request_proxy/base.rb +1 -1
- data/lib/oauth/request_proxy/net_http.rb +1 -1
- data/lib/oauth/request_proxy/rest_client_request.rb +62 -0
- data/lib/oauth/request_proxy/typhoeus_request.rb +4 -3
- data/lib/oauth/signature/base.rb +9 -23
- data/lib/oauth/signature/hmac/sha1.rb +12 -4
- data/lib/oauth/signature/plaintext.rb +6 -0
- data/lib/oauth/signature/rsa/sha1.rb +7 -3
- data/lib/oauth/tokens/access_token.rb +12 -0
- data/lib/oauth/tokens/request_token.rb +5 -0
- data/lib/oauth/tokens/token.rb +1 -1
- data/lib/oauth/version.rb +3 -0
- data/test/cases/oauth_case.rb +2 -2
- data/test/integration/consumer_test.rb +13 -13
- data/test/test_access_token.rb +2 -2
- data/test/test_action_controller_request_proxy.rb +29 -5
- data/test/test_consumer.rb +9 -3
- data/test/test_curb_request_proxy.rb +1 -1
- data/test/test_em_http_client.rb +1 -1
- data/test/test_em_http_request_proxy.rb +1 -1
- data/test/test_helper.rb +8 -3
- data/test/test_hmac_sha1.rb +1 -1
- data/test/test_net_http_client.rb +7 -1
- data/test/test_net_http_request_proxy.rb +1 -1
- data/test/test_oauth_helper.rb +5 -5
- data/test/test_rack_request_proxy.rb +1 -1
- data/test/test_request_token.rb +9 -4
- data/test/test_rest_client_request_proxy.rb +81 -0
- data/test/test_rsa_sha1.rb +1 -1
- data/test/test_server.rb +7 -6
- data/test/test_signature.rb +6 -13
- data/test/test_signature_base.rb +6 -6
- data/test/test_signature_hmac_sha1.rb +40 -0
- data/test/test_signature_plain_text.rb +1 -1
- data/test/test_token.rb +1 -1
- data/test/test_typhoeus_request_proxy.rb +24 -3
- metadata +126 -74
- data/.gemtest +0 -0
- data/Gemfile +0 -16
- data/Gemfile.lock +0 -47
- data/HISTORY +0 -173
- data/Rakefile +0 -37
- data/examples/yql.rb +0 -44
- data/lib/digest/hmac.rb +0 -104
- data/lib/oauth/signature/hmac/base.rb +0 -15
- data/lib/oauth/signature/hmac/md5.rb +0 -8
- data/lib/oauth/signature/hmac/rmd160.rb +0 -8
- data/lib/oauth/signature/hmac/sha2.rb +0 -8
- data/lib/oauth/signature/md5.rb +0 -13
- data/lib/oauth/signature/sha1.rb +0 -13
- data/oauth.gemspec +0 -148
- data/tasks/deployment.rake +0 -34
- data/tasks/environment.rake +0 -7
- data/tasks/website.rake +0 -17
- data/test/keys/rsa.cert +0 -11
- data/test/keys/rsa.pem +0 -16
@@ -3,7 +3,7 @@ require 'oauth/request_proxy/rack_request'
|
|
3
3
|
require 'rack/request'
|
4
4
|
require 'rack/mock'
|
5
5
|
|
6
|
-
class RackRequestProxyTest < Test
|
6
|
+
class RackRequestProxyTest < Minitest::Test
|
7
7
|
|
8
8
|
def test_that_proxy_simple_get_request_works
|
9
9
|
request = Rack::Request.new(Rack::MockRequest.env_for('http://example.com/test?key=value'))
|
data/test/test_request_token.rb
CHANGED
@@ -6,7 +6,7 @@ class StubbedToken < OAuth::RequestToken
|
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
-
class TestRequestToken < Test
|
9
|
+
class TestRequestToken < Minitest::Test
|
10
10
|
def setup
|
11
11
|
# setup a fake req. token. mocking Consumer would be more appropriate...
|
12
12
|
@request_token = OAuth::RequestToken.new(
|
@@ -18,7 +18,7 @@ class TestRequestToken < Test::Unit::TestCase
|
|
18
18
|
|
19
19
|
def test_request_token_builds_authorize_url_connectly_with_additional_params
|
20
20
|
auth_url = @request_token.authorize_url({:oauth_callback => "github.com"})
|
21
|
-
|
21
|
+
assert auth_url
|
22
22
|
assert_match(/oauth_token/, auth_url)
|
23
23
|
assert_match(/oauth_callback/, auth_url)
|
24
24
|
end
|
@@ -27,14 +27,19 @@ class TestRequestToken < Test::Unit::TestCase
|
|
27
27
|
# we should only have 1 key in the url returned if we didn't pass anything.
|
28
28
|
# this is the only required param to authenticate the client.
|
29
29
|
auth_url = @request_token.authorize_url(nil)
|
30
|
-
|
30
|
+
assert auth_url
|
31
31
|
assert_match(/\?oauth_token=/, auth_url)
|
32
32
|
|
33
33
|
auth_url = @request_token.authorize_url
|
34
|
-
|
34
|
+
assert auth_url
|
35
35
|
assert_match(/\?oauth_token=/, auth_url)
|
36
36
|
end
|
37
37
|
|
38
|
+
def test_request_token_returns_nil_authorize_url_when_token_is_nil
|
39
|
+
@request_token.token = nil
|
40
|
+
assert_nil @request_token.authorize_url
|
41
|
+
end
|
42
|
+
|
38
43
|
#TODO: mock out the Consumer to test the Consumer/AccessToken interaction.
|
39
44
|
def test_get_access_token
|
40
45
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'oauth/request_proxy/rest_client_request'
|
5
|
+
require 'rest-client'
|
6
|
+
|
7
|
+
class RestlClientRequestProxyTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_that_proxy_simple_get_request_works
|
10
|
+
request = ::RestClient::Request.new(method: :get, url: "http://example.com/test?key=value")
|
11
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value'})
|
12
|
+
|
13
|
+
expected_parameters = {'key' => ['value']}
|
14
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
15
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
16
|
+
assert_equal 'GET', request_proxy.method
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_that_proxy_simple_post_request_works_with_arguments
|
20
|
+
request = ::RestClient::Request.new(method: :post, url: "http://example.com/test")
|
21
|
+
params = {'key' => 'value'}
|
22
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
|
23
|
+
|
24
|
+
expected_parameters = {'key' => 'value'}
|
25
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
26
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
27
|
+
assert_equal 'POST', request_proxy.method
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_that_proxy_simple_post_request_works_with_form_data
|
31
|
+
request = ::RestClient::Request.new(method: :post, url: "http://example.com/test",
|
32
|
+
payload: {'key' => 'value'},
|
33
|
+
headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
|
34
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
|
35
|
+
|
36
|
+
expected_parameters = {'key' => 'value'}
|
37
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
38
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
39
|
+
assert_equal 'POST', request_proxy.method
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_that_proxy_simple_put_request_works_with_arguments
|
43
|
+
request = ::RestClient::Request.new(method: :put, url: "http://example.com/test")
|
44
|
+
params = {'key' => 'value'}
|
45
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
|
46
|
+
|
47
|
+
expected_parameters = {'key' => 'value'}
|
48
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
49
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
50
|
+
assert_equal 'PUT', request_proxy.method
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_that_proxy_simple_put_request_works_with_form_data
|
54
|
+
request = ::RestClient::Request.new(method: :put, url: "http://example.com/test",
|
55
|
+
payload: {'key' => 'value'},
|
56
|
+
headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
|
57
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
|
58
|
+
|
59
|
+
expected_parameters = {'key' => 'value'}
|
60
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
61
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
62
|
+
assert_equal 'PUT', request_proxy.method
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_that_proxy_post_request_works_with_mixed_parameter_sources
|
66
|
+
request = ::RestClient::Request.new(url: 'http://example.com/test?key=value',
|
67
|
+
method: :post,
|
68
|
+
payload: {'key2' => 'value2'},
|
69
|
+
headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
|
70
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
|
71
|
+
|
72
|
+
expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
|
73
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
74
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
75
|
+
assert_equal 'POST', request_proxy.method
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
rescue LoadError => e
|
80
|
+
warn "! problem loading rest-client, skipping these tests: #{e}"
|
81
|
+
end
|
data/test/test_rsa_sha1.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', __FILE__)
|
|
2
2
|
require 'oauth/consumer'
|
3
3
|
require 'oauth/signature/rsa/sha1'
|
4
4
|
|
5
|
-
class TestSignatureRsaSha1 < Test
|
5
|
+
class TestSignatureRsaSha1 < Minitest::Test
|
6
6
|
|
7
7
|
def setup
|
8
8
|
@request = Net::HTTP::Get.new('/photos?file=vacaction.jpg&size=original&oauth_version=1.0&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_timestamp=1196666512&oauth_nonce=13917289812797014437&oauth_signature_method=RSA-SHA1')
|
data/test/test_server.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require File.expand_path('../test_helper', __FILE__)
|
2
2
|
require 'oauth/server'
|
3
|
-
|
3
|
+
|
4
|
+
class ServerTest < Minitest::Test
|
4
5
|
def setup
|
5
6
|
@server=OAuth::Server.new "http://test.com"
|
6
7
|
end
|
@@ -19,15 +20,15 @@ class ServerTest < Test::Unit::TestCase
|
|
19
20
|
|
20
21
|
def test_generate_consumer_credentials
|
21
22
|
consumer=@server.generate_consumer_credentials
|
22
|
-
|
23
|
-
|
23
|
+
assert consumer.key
|
24
|
+
assert consumer.secret
|
24
25
|
end
|
25
26
|
|
26
27
|
def test_create_consumer
|
27
28
|
@consumer=@server.create_consumer
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
assert @consumer
|
30
|
+
assert @consumer.key
|
31
|
+
assert @consumer.secret
|
31
32
|
assert_equal "http://test.com",@consumer.site
|
32
33
|
assert_equal "/oauth/request_token",@consumer.request_token_path
|
33
34
|
assert_equal "/oauth/authorize",@consumer.authorize_path
|
data/test/test_signature.rb
CHANGED
@@ -2,21 +2,14 @@
|
|
2
2
|
|
3
3
|
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
|
-
class TestOauth < Test
|
5
|
+
class TestOauth < Minitest::Test
|
6
6
|
|
7
7
|
def test_parameter_escaping_kcode_invariant
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
%
|
12
|
-
|
13
|
-
assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
|
14
|
-
"Failed to correctly escape Japanese under $KCODE = #{kcode}"
|
15
|
-
assert_equal '%C3%A9', OAuth::Helper.escape('é'),
|
16
|
-
"Failed to correctly escape e+acute under $KCODE = #{kcode}"
|
17
|
-
end
|
18
|
-
ensure
|
19
|
-
$KCODE = old if !ruby19
|
8
|
+
%w(n N e E s S u U).each do |kcode|
|
9
|
+
assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
|
10
|
+
"Failed to correctly escape Japanese under $KCODE = #{kcode}"
|
11
|
+
assert_equal '%C3%A9', OAuth::Helper.escape('é'),
|
12
|
+
"Failed to correctly escape e+acute under $KCODE = #{kcode}"
|
20
13
|
end
|
21
14
|
end
|
22
15
|
end
|
data/test/test_signature_base.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require File.expand_path('../test_helper', __FILE__)
|
2
2
|
require 'oauth/signature/base'
|
3
3
|
require 'net/http'
|
4
|
-
|
4
|
+
|
5
|
+
class SignatureBaseTest < Minitest::Test
|
5
6
|
|
6
7
|
def test_that_initialize_requires_one_request_argument
|
7
8
|
assert_raises ArgumentError do
|
@@ -22,11 +23,10 @@ class SignatureBaseTest < Test::Unit::TestCase
|
|
22
23
|
# this isn't quite valid, but it will do.
|
23
24
|
raw_request = Net::HTTP::Get.new('/test')
|
24
25
|
request = OAuth::RequestProxy.proxy(raw_request)
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
end
|
26
|
+
|
27
|
+
OAuth::Signature::Base.new(request) { |token|
|
28
|
+
# just a stub
|
29
|
+
}
|
30
30
|
end
|
31
31
|
|
32
32
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
require 'oauth/signature/hmac/sha1'
|
3
|
+
|
4
|
+
class SignatureHMACSHA1Test < Test::Unit::TestCase
|
5
|
+
def test_that_verify_returns_true_when_the_request_signature_is_right
|
6
|
+
request = OAuth::RequestProxy::MockRequest.new(
|
7
|
+
'method' => 'POST',
|
8
|
+
'uri' => 'https://photos.example.net/initialize',
|
9
|
+
'parameters' => {
|
10
|
+
'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
|
11
|
+
'oauth_signature_method' => 'HMAC-SHA1',
|
12
|
+
'oauth_timestamp' => '137131200',
|
13
|
+
'oauth_nonce' => 'wIjqoS',
|
14
|
+
'oauth_callback' => 'http://printer.example.com/ready',
|
15
|
+
'oauth_version' => '1.0',
|
16
|
+
'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjY='
|
17
|
+
}
|
18
|
+
)
|
19
|
+
assert OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_that_verify_returns_false_when_the_request_signature_is_wrong
|
23
|
+
# Test a bug in the OAuth::Signature::Base#== method: when the Base64.decode64 method is
|
24
|
+
# used on the "self" and "other" signature (as in version 0.4.7), the result may be incorrectly "true".
|
25
|
+
request = OAuth::RequestProxy::MockRequest.new(
|
26
|
+
'method' => 'POST',
|
27
|
+
'uri' => 'https://photos.example.net/initialize',
|
28
|
+
'parameters' => {
|
29
|
+
'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
|
30
|
+
'oauth_signature_method' => 'HMAC-SHA1',
|
31
|
+
'oauth_timestamp' => '137131200',
|
32
|
+
'oauth_nonce' => 'wIjqoS',
|
33
|
+
'oauth_callback' => 'http://printer.example.com/ready',
|
34
|
+
'oauth_version' => '1.0',
|
35
|
+
'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjZ='
|
36
|
+
}
|
37
|
+
)
|
38
|
+
assert !OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
|
39
|
+
end
|
40
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../test_helper', __FILE__)
|
2
2
|
require 'oauth/signature/plaintext'
|
3
3
|
|
4
|
-
class TestSignaturePlaintext < Test
|
4
|
+
class TestSignaturePlaintext < Minitest::Test
|
5
5
|
def test_that_plaintext_implements_plaintext
|
6
6
|
assert OAuth::Signature.available_methods.include?('plaintext')
|
7
7
|
end
|
data/test/test_token.rb
CHANGED
@@ -5,7 +5,7 @@ begin
|
|
5
5
|
require 'oauth/request_proxy/typhoeus_request'
|
6
6
|
require 'typhoeus'
|
7
7
|
|
8
|
-
class TyphoeusRequestProxyTest < Test
|
8
|
+
class TyphoeusRequestProxyTest < Minitest::Test
|
9
9
|
|
10
10
|
def test_that_proxy_simple_get_request_works
|
11
11
|
request = ::Typhoeus::Request.new('/test?key=value')
|
@@ -34,7 +34,7 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
|
|
34
34
|
:headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
|
35
35
|
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
|
36
36
|
|
37
|
-
expected_parameters = {'key' => 'value'}
|
37
|
+
expected_parameters = {'key' => ['value']}
|
38
38
|
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
39
39
|
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
40
40
|
assert_equal 'POST', request_proxy.method
|
@@ -61,6 +61,27 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
|
|
61
61
|
assert_equal 'PUT', request_proxy.method
|
62
62
|
end
|
63
63
|
|
64
|
+
def test_that_proxy_simple_put_request_works_with_arguments
|
65
|
+
request = Typhoeus::Request.new('/test', :method => :patch)
|
66
|
+
params = {'key' => 'value'}
|
67
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
|
68
|
+
|
69
|
+
expected_parameters = {'key' => 'value'}
|
70
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
71
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
72
|
+
assert_equal 'PATCH', request_proxy.method
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_that_proxy_simple_put_request_works_with_form_data
|
76
|
+
request = Typhoeus::Request.new('/test', :method => :patch, :params => {'key' => 'value'})
|
77
|
+
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
|
78
|
+
|
79
|
+
expected_parameters = {'key' => ['value']}
|
80
|
+
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
81
|
+
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
82
|
+
assert_equal 'PATCH', request_proxy.method
|
83
|
+
end
|
84
|
+
|
64
85
|
def test_that_proxy_post_request_works_with_mixed_parameter_sources
|
65
86
|
request = Typhoeus::Request.new('/test?key=value',
|
66
87
|
:method => :post,
|
@@ -68,7 +89,7 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
|
|
68
89
|
:headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
|
69
90
|
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
|
70
91
|
|
71
|
-
expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
|
92
|
+
expected_parameters = {'key' => ['value'], 'key2' => ['value2'], 'key3' => 'value3'}
|
72
93
|
assert_equal expected_parameters, request_proxy.parameters_for_signature
|
73
94
|
assert_equal 'http://example.com/test', request_proxy.normalized_uri
|
74
95
|
assert_equal 'POST', request_proxy.method
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pelle Braendgaard
|
@@ -16,138 +15,178 @@ authors:
|
|
16
15
|
autorequire:
|
17
16
|
bindir: bin
|
18
17
|
cert_chain: []
|
19
|
-
date:
|
18
|
+
date: 2016-02-20 00:00:00.000000000 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rake
|
23
22
|
requirement: !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
23
|
requirements:
|
26
|
-
- -
|
24
|
+
- - ">="
|
27
25
|
- !ruby/object:Gem::Version
|
28
26
|
version: '0'
|
29
27
|
type: :development
|
30
28
|
prerelease: false
|
31
29
|
version_requirements: !ruby/object:Gem::Requirement
|
32
|
-
none: false
|
33
30
|
requirements:
|
34
|
-
- -
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: minitest
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
type: :development
|
42
|
+
prerelease: false
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: byebug
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
35
60
|
- !ruby/object:Gem::Version
|
36
61
|
version: '0'
|
37
62
|
- !ruby/object:Gem::Dependency
|
38
63
|
name: jeweler
|
39
64
|
requirement: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
65
|
requirements:
|
42
|
-
- -
|
66
|
+
- - ">="
|
43
67
|
- !ruby/object:Gem::Version
|
44
68
|
version: '0'
|
45
69
|
type: :development
|
46
70
|
prerelease: false
|
47
71
|
version_requirements: !ruby/object:Gem::Requirement
|
48
|
-
none: false
|
49
72
|
requirements:
|
50
|
-
- -
|
73
|
+
- - ">="
|
51
74
|
- !ruby/object:Gem::Version
|
52
75
|
version: '0'
|
53
76
|
- !ruby/object:Gem::Dependency
|
54
77
|
name: actionpack
|
55
78
|
requirement: !ruby/object:Gem::Requirement
|
56
|
-
none: false
|
57
79
|
requirements:
|
58
|
-
- -
|
80
|
+
- - ">="
|
59
81
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
82
|
+
version: 4.0.2
|
61
83
|
type: :development
|
62
84
|
prerelease: false
|
63
85
|
version_requirements: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
86
|
requirements:
|
66
|
-
- -
|
87
|
+
- - ">="
|
67
88
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
89
|
+
version: 4.0.2
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: iconv
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.0.3
|
97
|
+
type: :development
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.0.3
|
69
104
|
- !ruby/object:Gem::Dependency
|
70
105
|
name: rack
|
71
106
|
requirement: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
107
|
requirements:
|
74
|
-
- -
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.6.1
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.6.1
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: rack-test
|
120
|
+
requirement: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
75
123
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
124
|
+
version: '0'
|
77
125
|
type: :development
|
78
126
|
prerelease: false
|
79
127
|
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
128
|
requirements:
|
82
|
-
- -
|
129
|
+
- - ">="
|
83
130
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
131
|
+
version: '0'
|
85
132
|
- !ruby/object:Gem::Dependency
|
86
133
|
name: mocha
|
87
134
|
requirement: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
135
|
requirements:
|
90
|
-
- -
|
136
|
+
- - ">="
|
91
137
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.9.
|
138
|
+
version: 0.9.12
|
93
139
|
type: :development
|
94
140
|
prerelease: false
|
95
141
|
version_requirements: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
142
|
requirements:
|
98
|
-
- -
|
143
|
+
- - ">="
|
99
144
|
- !ruby/object:Gem::Version
|
100
|
-
version: 0.9.
|
145
|
+
version: 0.9.12
|
101
146
|
- !ruby/object:Gem::Dependency
|
102
147
|
name: typhoeus
|
103
148
|
requirement: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
149
|
requirements:
|
106
|
-
- -
|
150
|
+
- - ">="
|
107
151
|
- !ruby/object:Gem::Version
|
108
152
|
version: 0.1.13
|
109
153
|
type: :development
|
110
154
|
prerelease: false
|
111
155
|
version_requirements: !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
156
|
requirements:
|
114
|
-
- -
|
157
|
+
- - ">="
|
115
158
|
- !ruby/object:Gem::Version
|
116
159
|
version: 0.1.13
|
117
160
|
- !ruby/object:Gem::Dependency
|
118
161
|
name: em-http-request
|
119
162
|
requirement: !ruby/object:Gem::Requirement
|
120
|
-
none: false
|
121
163
|
requirements:
|
122
|
-
- -
|
164
|
+
- - '='
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.2.
|
166
|
+
version: 0.2.11
|
125
167
|
type: :development
|
126
168
|
prerelease: false
|
127
169
|
version_requirements: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
170
|
requirements:
|
130
|
-
- -
|
171
|
+
- - '='
|
131
172
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.2.
|
173
|
+
version: 0.2.11
|
133
174
|
- !ruby/object:Gem::Dependency
|
134
175
|
name: curb
|
135
176
|
requirement: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
177
|
requirements:
|
138
|
-
- -
|
178
|
+
- - '='
|
139
179
|
- !ruby/object:Gem::Version
|
140
|
-
version: 0.
|
180
|
+
version: 0.7.16
|
141
181
|
type: :development
|
142
182
|
prerelease: false
|
143
183
|
version_requirements: !ruby/object:Gem::Requirement
|
144
|
-
none: false
|
145
184
|
requirements:
|
146
|
-
- -
|
185
|
+
- - '='
|
147
186
|
- !ruby/object:Gem::Version
|
148
|
-
version: 0.
|
149
|
-
description:
|
150
|
-
email: oauth-ruby@
|
187
|
+
version: 0.7.16
|
188
|
+
description:
|
189
|
+
email: oauth-ruby@googlegroupspec.com
|
151
190
|
executables:
|
152
191
|
- oauth
|
153
192
|
extensions: []
|
@@ -156,17 +195,10 @@ extra_rdoc_files:
|
|
156
195
|
- README.rdoc
|
157
196
|
- TODO
|
158
197
|
files:
|
159
|
-
- .gemtest
|
160
|
-
- Gemfile
|
161
|
-
- Gemfile.lock
|
162
|
-
- HISTORY
|
163
198
|
- LICENSE
|
164
199
|
- README.rdoc
|
165
|
-
- Rakefile
|
166
200
|
- TODO
|
167
201
|
- bin/oauth
|
168
|
-
- examples/yql.rb
|
169
|
-
- lib/digest/hmac.rb
|
170
202
|
- lib/oauth.rb
|
171
203
|
- lib/oauth/cli.rb
|
172
204
|
- lib/oauth/client.rb
|
@@ -192,37 +224,27 @@ files:
|
|
192
224
|
- lib/oauth/request_proxy/mock_request.rb
|
193
225
|
- lib/oauth/request_proxy/net_http.rb
|
194
226
|
- lib/oauth/request_proxy/rack_request.rb
|
227
|
+
- lib/oauth/request_proxy/rest_client_request.rb
|
195
228
|
- lib/oauth/request_proxy/typhoeus_request.rb
|
196
229
|
- lib/oauth/server.rb
|
197
230
|
- lib/oauth/signature.rb
|
198
231
|
- lib/oauth/signature/base.rb
|
199
|
-
- lib/oauth/signature/hmac/base.rb
|
200
|
-
- lib/oauth/signature/hmac/md5.rb
|
201
|
-
- lib/oauth/signature/hmac/rmd160.rb
|
202
232
|
- lib/oauth/signature/hmac/sha1.rb
|
203
|
-
- lib/oauth/signature/hmac/sha2.rb
|
204
|
-
- lib/oauth/signature/md5.rb
|
205
233
|
- lib/oauth/signature/plaintext.rb
|
206
234
|
- lib/oauth/signature/rsa/sha1.rb
|
207
|
-
- lib/oauth/signature/sha1.rb
|
208
235
|
- lib/oauth/token.rb
|
209
236
|
- lib/oauth/tokens/access_token.rb
|
210
237
|
- lib/oauth/tokens/consumer_token.rb
|
211
238
|
- lib/oauth/tokens/request_token.rb
|
212
239
|
- lib/oauth/tokens/server_token.rb
|
213
240
|
- lib/oauth/tokens/token.rb
|
214
|
-
- oauth.
|
215
|
-
- tasks/deployment.rake
|
216
|
-
- tasks/environment.rake
|
217
|
-
- tasks/website.rake
|
241
|
+
- lib/oauth/version.rb
|
218
242
|
- test/cases/oauth_case.rb
|
219
243
|
- test/cases/spec/1_0-final/test_construct_request_url.rb
|
220
244
|
- test/cases/spec/1_0-final/test_normalize_request_parameters.rb
|
221
245
|
- test/cases/spec/1_0-final/test_parameter_encodings.rb
|
222
246
|
- test/cases/spec/1_0-final/test_signature_base_strings.rb
|
223
247
|
- test/integration/consumer_test.rb
|
224
|
-
- test/keys/rsa.cert
|
225
|
-
- test/keys/rsa.pem
|
226
248
|
- test/test_access_token.rb
|
227
249
|
- test/test_action_controller_request_proxy.rb
|
228
250
|
- test/test_consumer.rb
|
@@ -236,35 +258,65 @@ files:
|
|
236
258
|
- test/test_oauth_helper.rb
|
237
259
|
- test/test_rack_request_proxy.rb
|
238
260
|
- test/test_request_token.rb
|
261
|
+
- test/test_rest_client_request_proxy.rb
|
239
262
|
- test/test_rsa_sha1.rb
|
240
263
|
- test/test_server.rb
|
241
264
|
- test/test_signature.rb
|
242
265
|
- test/test_signature_base.rb
|
266
|
+
- test/test_signature_hmac_sha1.rb
|
243
267
|
- test/test_signature_plain_text.rb
|
244
268
|
- test/test_token.rb
|
245
269
|
- test/test_typhoeus_request_proxy.rb
|
246
270
|
homepage:
|
247
271
|
licenses: []
|
272
|
+
metadata: {}
|
248
273
|
post_install_message:
|
249
274
|
rdoc_options: []
|
250
275
|
require_paths:
|
251
276
|
- lib
|
252
277
|
required_ruby_version: !ruby/object:Gem::Requirement
|
253
|
-
none: false
|
254
278
|
requirements:
|
255
|
-
- -
|
279
|
+
- - ">="
|
256
280
|
- !ruby/object:Gem::Version
|
257
281
|
version: '0'
|
258
282
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
259
|
-
none: false
|
260
283
|
requirements:
|
261
|
-
- -
|
284
|
+
- - ">="
|
262
285
|
- !ruby/object:Gem::Version
|
263
286
|
version: '0'
|
264
287
|
requirements: []
|
265
|
-
rubyforge_project:
|
266
|
-
rubygems_version:
|
288
|
+
rubyforge_project:
|
289
|
+
rubygems_version: 2.5.1
|
267
290
|
signing_key:
|
268
|
-
specification_version:
|
291
|
+
specification_version: 4
|
269
292
|
summary: OAuth Core Ruby implementation
|
270
|
-
test_files:
|
293
|
+
test_files:
|
294
|
+
- test/test_rsa_sha1.rb
|
295
|
+
- test/test_helper.rb
|
296
|
+
- test/test_server.rb
|
297
|
+
- test/test_em_http_client.rb
|
298
|
+
- test/test_signature_hmac_sha1.rb
|
299
|
+
- test/test_signature.rb
|
300
|
+
- test/test_em_http_request_proxy.rb
|
301
|
+
- test/test_net_http_client.rb
|
302
|
+
- test/test_rest_client_request_proxy.rb
|
303
|
+
- test/cases/oauth_case.rb
|
304
|
+
- test/cases/spec/1_0-final/test_parameter_encodings.rb
|
305
|
+
- test/cases/spec/1_0-final/test_signature_base_strings.rb
|
306
|
+
- test/cases/spec/1_0-final/test_normalize_request_parameters.rb
|
307
|
+
- test/cases/spec/1_0-final/test_construct_request_url.rb
|
308
|
+
- test/test_hmac_sha1.rb
|
309
|
+
- test/test_consumer.rb
|
310
|
+
- test/test_rack_request_proxy.rb
|
311
|
+
- test/test_signature_base.rb
|
312
|
+
- test/test_typhoeus_request_proxy.rb
|
313
|
+
- test/integration/consumer_test.rb
|
314
|
+
- test/test_signature_plain_text.rb
|
315
|
+
- test/test_curb_request_proxy.rb
|
316
|
+
- test/test_token.rb
|
317
|
+
- test/test_action_controller_request_proxy.rb
|
318
|
+
- test/test_oauth_helper.rb
|
319
|
+
- test/test_access_token.rb
|
320
|
+
- test/test_request_token.rb
|
321
|
+
- test/test_net_http_request_proxy.rb
|
322
|
+
has_rdoc:
|