oauth 0.5.0 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/README.rdoc +22 -9
  3. data/bin/oauth +8 -2
  4. data/lib/oauth.rb +2 -2
  5. data/lib/oauth/cli.rb +37 -359
  6. data/lib/oauth/cli/authorize_command.rb +71 -0
  7. data/lib/oauth/cli/base_command.rb +208 -0
  8. data/lib/oauth/cli/help_command.rb +22 -0
  9. data/lib/oauth/cli/query_command.rb +25 -0
  10. data/lib/oauth/cli/sign_command.rb +81 -0
  11. data/lib/oauth/cli/version_command.rb +7 -0
  12. data/lib/oauth/client/action_controller_request.rb +1 -1
  13. data/lib/oauth/client/em_http.rb +0 -1
  14. data/lib/oauth/client/helper.rb +8 -2
  15. data/lib/oauth/client/net_http.rb +0 -1
  16. data/lib/oauth/consumer.rb +69 -13
  17. data/lib/oauth/helper.rb +10 -6
  18. data/lib/oauth/request_proxy/action_controller_request.rb +2 -2
  19. data/lib/oauth/request_proxy/action_dispatch_request.rb +7 -0
  20. data/lib/oauth/request_proxy/base.rb +6 -2
  21. data/lib/oauth/tokens/request_token.rb +14 -7
  22. data/lib/oauth/version.rb +1 -1
  23. metadata +93 -96
  24. data/lib/oauth/core_ext.rb +0 -31
  25. data/test/cases/oauth_case.rb +0 -19
  26. data/test/cases/spec/1_0-final/test_construct_request_url.rb +0 -62
  27. data/test/cases/spec/1_0-final/test_normalize_request_parameters.rb +0 -88
  28. data/test/cases/spec/1_0-final/test_parameter_encodings.rb +0 -86
  29. data/test/cases/spec/1_0-final/test_signature_base_strings.rb +0 -77
  30. data/test/integration/consumer_test.rb +0 -307
  31. data/test/test_access_token.rb +0 -26
  32. data/test/test_action_controller_request_proxy.rb +0 -157
  33. data/test/test_consumer.rb +0 -226
  34. data/test/test_curb_request_proxy.rb +0 -77
  35. data/test/test_em_http_client.rb +0 -80
  36. data/test/test_em_http_request_proxy.rb +0 -115
  37. data/test/test_helper.rb +0 -33
  38. data/test/test_hmac_sha1.rb +0 -20
  39. data/test/test_net_http_client.rb +0 -298
  40. data/test/test_net_http_request_proxy.rb +0 -72
  41. data/test/test_oauth_helper.rb +0 -94
  42. data/test/test_rack_request_proxy.rb +0 -40
  43. data/test/test_request_token.rb +0 -56
  44. data/test/test_rest_client_request_proxy.rb +0 -81
  45. data/test/test_rsa_sha1.rb +0 -59
  46. data/test/test_server.rb +0 -41
  47. data/test/test_signature.rb +0 -15
  48. data/test/test_signature_base.rb +0 -32
  49. data/test/test_signature_hmac_sha1.rb +0 -40
  50. data/test/test_signature_plain_text.rb +0 -31
  51. data/test/test_token.rb +0 -14
  52. data/test/test_typhoeus_request_proxy.rb +0 -101
@@ -1,5 +1,4 @@
1
1
  require 'oauth/helper'
2
- require 'oauth/client/helper'
3
2
  require 'oauth/request_proxy/net_http'
4
3
 
5
4
  class Net::HTTPGenericRequest
@@ -8,11 +8,21 @@ require 'cgi'
8
8
  module OAuth
9
9
  class Consumer
10
10
  # determine the certificate authority path to verify SSL certs
11
- CA_FILES = %W(#{ENV['SSL_CERT_FILE']} /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt)
12
- CA_FILES.each do |ca_file|
13
- if File.exist?(ca_file)
14
- CA_FILE = ca_file
15
- break
11
+ if ENV['SSL_CERT_FILE']
12
+ if File.exist?(ENV['SSL_CERT_FILE'])
13
+ CA_FILE = ENV['SSL_CERT_FILE']
14
+ else
15
+ raise "The SSL CERT provided does not exist."
16
+ end
17
+ end
18
+
19
+ if !defined?(CA_FILE)
20
+ CA_FILES = %W(/etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt)
21
+ CA_FILES.each do |ca_file|
22
+ if File.exist?(ca_file)
23
+ CA_FILE = ca_file
24
+ break
25
+ end
16
26
  end
17
27
  end
18
28
  CA_FILE = nil unless defined?(CA_FILE)
@@ -23,6 +33,7 @@ module OAuth
23
33
 
24
34
  # default paths on site. These are the same as the defaults set up by the generators
25
35
  :request_token_path => '/oauth/request_token',
36
+ :authenticate_path => '/oauth/authenticate',
26
37
  :authorize_path => '/oauth/authorize',
27
38
  :access_token_path => '/oauth/access_token',
28
39
 
@@ -43,6 +54,13 @@ module OAuth
43
54
  # Add a custom ca_file for consumer
44
55
  # :ca_file => '/etc/certs.pem'
45
56
 
57
+ # Possible values:
58
+ #
59
+ # nil, false - no debug output
60
+ # true - uses $stdout
61
+ # some_value - uses some_value
62
+ :debug_output => nil,
63
+
46
64
  :oauth_version => "1.0"
47
65
  }
48
66
 
@@ -87,6 +105,18 @@ module OAuth
87
105
  @http_method ||= @options[:http_method] || :post
88
106
  end
89
107
 
108
+ def debug_output
109
+ @debug_output ||= begin
110
+ case @options[:debug_output]
111
+ when nil, false
112
+ when true
113
+ $stdout
114
+ else
115
+ @options[:debug_output]
116
+ end
117
+ end
118
+ end
119
+
90
120
  # The HTTP object for the site. The HTTP Object is what you get when you do Net::HTTP.new
91
121
  def http
92
122
  @http ||= create_http
@@ -210,8 +240,15 @@ module OAuth
210
240
  end
211
241
  when (300..399)
212
242
  # this is a redirect
213
- uri = URI.parse(response.header['location'])
214
- response.error! if uri.path == path # careful of those infinite redirects
243
+ uri = URI.parse(response['location'])
244
+ our_uri = URI.parse(site)
245
+
246
+ if uri.path == path && our_uri.host != uri.host
247
+ options[:site] = "#{uri.scheme}://#{uri.host}"
248
+ @http = create_http
249
+ end
250
+
251
+ response.error! if uri.path == path && our_uri.host == uri.host # careful of those infinite redirects
215
252
  self.token_request(http_method, uri.path, token, request_options, arguments)
216
253
  when (400..499)
217
254
  raise OAuth::Unauthorized, response
@@ -247,6 +284,10 @@ module OAuth
247
284
  @options[:request_token_path]
248
285
  end
249
286
 
287
+ def authenticate_path
288
+ @options[:authenticate_path]
289
+ end
290
+
250
291
  def authorize_path
251
292
  @options[:authorize_path]
252
293
  end
@@ -264,6 +305,14 @@ module OAuth
264
305
  @options.has_key?(:request_token_url)
265
306
  end
266
307
 
308
+ def authenticate_url
309
+ @options[:authenticate_url] || site + authenticate_path
310
+ end
311
+
312
+ def authenticate_url?
313
+ @options.has_key?(:authenticate_url)
314
+ end
315
+
267
316
  def authorize_url
268
317
  @options[:authorize_url] || site + authorize_path
269
318
  end
@@ -311,16 +360,21 @@ module OAuth
311
360
 
312
361
  http_object.use_ssl = (our_uri.scheme == 'https')
313
362
 
314
- if @options[:ca_file] || CA_FILE
315
- http_object.ca_file = @options[:ca_file] || CA_FILE
363
+ if @options[:no_verify]
364
+ http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE
365
+ else
366
+ ca_file = @options[:ca_file] || CA_FILE
367
+ if ca_file
368
+ http_object.ca_file = ca_file
369
+ end
316
370
  http_object.verify_mode = OpenSSL::SSL::VERIFY_PEER
317
371
  http_object.verify_depth = 5
318
- else
319
- http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE
320
372
  end
321
373
 
322
374
  http_object.read_timeout = http_object.open_timeout = @options[:timeout] || 30
323
375
  http_object.open_timeout = @options[:open_timeout] if @options[:open_timeout]
376
+ http_object.ssl_version = @options[:ssl_version] if @options[:ssl_version]
377
+ http_object.set_debug_output(debug_output) if debug_output
324
378
 
325
379
  http_object
326
380
  end
@@ -334,8 +388,10 @@ module OAuth
334
388
  end
335
389
 
336
390
  # if the base site contains a path, add it now
337
- uri = URI.parse(site)
338
- path = uri.path + path if uri.path && uri.path != '/'
391
+ # only add if the site host matches the current http object's host
392
+ # (in case we've specified a full url for token requests)
393
+ uri = URI.parse(site)
394
+ path = uri.path + path if uri.path && uri.path != '/' && uri.host == http.address
339
395
 
340
396
  headers = arguments.first.is_a?(Hash) ? arguments.shift : {}
341
397
 
@@ -9,9 +9,17 @@ module OAuth
9
9
  #
10
10
  # See Also: {OAuth core spec version 1.0, section 5.1}[http://oauth.net/core/1.0#rfc.section.5.1]
11
11
  def escape(value)
12
- URI::escape(value.to_s.to_str, OAuth::RESERVED_CHARACTERS)
12
+ _escape(value.to_s.to_str)
13
13
  rescue ArgumentError
14
- URI::escape(value.to_s.to_str.force_encoding(Encoding::UTF_8), OAuth::RESERVED_CHARACTERS)
14
+ _escape(value.to_s.to_str.force_encoding(Encoding::UTF_8))
15
+ end
16
+
17
+ def _escape(string)
18
+ URI::DEFAULT_PARSER.escape(string, OAuth::RESERVED_CHARACTERS)
19
+ end
20
+
21
+ def unescape(value)
22
+ URI::DEFAULT_PARSER.unescape(value.gsub('+', '%2B'))
15
23
  end
16
24
 
17
25
  # Generate a random key of up to +size+ bytes. The value returned is Base64 encoded with non-word
@@ -94,10 +102,6 @@ module OAuth
94
102
  Hash[*params.flatten]
95
103
  end
96
104
 
97
- def unescape(value)
98
- URI.unescape(value.gsub('+', '%2B'))
99
- end
100
-
101
105
  def stringify_keys(hash)
102
106
  new_h = {}
103
107
  hash.each do |k, v|
@@ -23,7 +23,7 @@ then # rails 3.x
23
23
  ActionDispatch::Request::HTTP_METHOD_LOOKUP["patch"] = :patch
24
24
  end
25
25
 
26
- else # rails 4.x - already has patch
26
+ else # rails 4.x and later - already has patch
27
27
  require 'action_dispatch/http/request'
28
28
  end
29
29
 
@@ -67,7 +67,7 @@ module OAuth::RequestProxy
67
67
 
68
68
  params.
69
69
  join('&').split('&').
70
- reject(&:blank?).
70
+ reject { |s| s.match(/\A\s*\z/) }.
71
71
  map { |p| p.split('=').map{|esc| CGI.unescape(esc)} }.
72
72
  reject { |kv| kv[0] == 'oauth_signature'}
73
73
  end
@@ -0,0 +1,7 @@
1
+ require 'oauth/request_proxy/rack_request'
2
+
3
+ module OAuth::RequestProxy
4
+ class ActionDispatchRequest < OAuth::RequestProxy::RackRequest
5
+ proxies ActionDispatch::Request
6
+ end
7
+ end
@@ -76,7 +76,7 @@ module OAuth::RequestProxy
76
76
  end
77
77
 
78
78
  def parameters_for_signature
79
- parameters.reject { |k,v| k == "oauth_signature" || unsigned_parameters.include?(k)}
79
+ parameters.select { |k,v| not signature_and_unsigned_parameters.include?(k) }
80
80
  end
81
81
 
82
82
  def oauth_parameters
@@ -87,6 +87,10 @@ module OAuth::RequestProxy
87
87
  parameters.reject { |k,v| OAuth::PARAMETERS.include?(k) }
88
88
  end
89
89
 
90
+ def signature_and_unsigned_parameters
91
+ unsigned_parameters+["oauth_signature"]
92
+ end
93
+
90
94
  # See 9.1.2 in specs
91
95
  def normalized_uri
92
96
  u = URI.parse(uri)
@@ -146,7 +150,7 @@ module OAuth::RequestProxy
146
150
  if uri = request.env['REQUEST_URI']
147
151
  uri.split('?', 2)[1].nil?
148
152
  else
149
- request.query_string.blank?
153
+ request.query_string.match(/\A\s*\z/)
150
154
  end
151
155
  end
152
156
 
@@ -8,7 +8,14 @@ module OAuth
8
8
  return nil if self.token.nil?
9
9
 
10
10
  params = (params || {}).merge(:oauth_token => self.token)
11
- build_authorize_url(consumer.authorize_url, params)
11
+ build_url(consumer.authorize_url, params)
12
+ end
13
+
14
+ def authenticate_url(params = nil)
15
+ return nil if self.token.nil?
16
+
17
+ params = (params || {}).merge(:oauth_token => self.token)
18
+ build_url(consumer.authenticate_url, params)
12
19
  end
13
20
 
14
21
  def callback_confirmed?
@@ -23,14 +30,14 @@ module OAuth
23
30
 
24
31
  protected
25
32
 
26
- # construct an authorization url
27
- def build_authorize_url(base_url, params)
33
+ # construct an authorization or authentication url
34
+ def build_url(base_url, params)
28
35
  uri = URI.parse(base_url.to_s)
29
- if(!uri.query.blank? && !params.empty?)
30
- uri.query += "&"
31
- end
36
+ queries = {}
37
+ queries = Hash[URI.decode_www_form(uri.query)] if uri.query
32
38
  # TODO doesn't handle array values correctly
33
- uri.query = params.map { |k,v| [k, CGI.escape(v)] * "=" } * "&"
39
+ queries.merge!(params) if params
40
+ uri.query = URI.encode_www_form(queries) if !queries.empty?
34
41
  uri.to_s
35
42
  end
36
43
  end
@@ -1,3 +1,3 @@
1
1
  module OAuth
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pelle Braendgaard
@@ -12,10 +12,10 @@ authors:
12
12
  - Seth Fitzsimmons
13
13
  - Matt Sanford
14
14
  - Aaron Quint
15
- autorequire:
15
+ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2016-02-20 00:00:00.000000000 Z
18
+ date: 2021-01-20 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rake
@@ -59,62 +59,48 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: jeweler
64
- requirement: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- type: :development
70
- prerelease: false
71
- version_requirements: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
62
  - !ruby/object:Gem::Dependency
77
63
  name: actionpack
78
64
  requirement: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: 4.0.2
68
+ version: '5.0'
83
69
  type: :development
84
70
  prerelease: false
85
71
  version_requirements: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: 4.0.2
75
+ version: '5.0'
90
76
  - !ruby/object:Gem::Dependency
91
77
  name: iconv
92
78
  requirement: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: 1.0.3
82
+ version: '0'
97
83
  type: :development
98
84
  prerelease: false
99
85
  version_requirements: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - "~>"
87
+ - - ">="
102
88
  - !ruby/object:Gem::Version
103
- version: 1.0.3
89
+ version: '0'
104
90
  - !ruby/object:Gem::Dependency
105
91
  name: rack
106
92
  requirement: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: 1.6.1
96
+ version: '2.0'
111
97
  type: :development
112
98
  prerelease: false
113
99
  version_requirements: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: 1.6.1
103
+ version: '2.0'
118
104
  - !ruby/object:Gem::Dependency
119
105
  name: rack-test
120
106
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +122,9 @@ dependencies:
136
122
  - - ">="
137
123
  - !ruby/object:Gem::Version
138
124
  version: 0.9.12
125
+ - - "<="
126
+ - !ruby/object:Gem::Version
127
+ version: 1.1.0
139
128
  type: :development
140
129
  prerelease: false
141
130
  version_requirements: !ruby/object:Gem::Requirement
@@ -143,6 +132,9 @@ dependencies:
143
132
  - - ">="
144
133
  - !ruby/object:Gem::Version
145
134
  version: 0.9.12
135
+ - - "<="
136
+ - !ruby/object:Gem::Version
137
+ version: 1.1.0
146
138
  - !ruby/object:Gem::Dependency
147
139
  name: typhoeus
148
140
  requirement: !ruby/object:Gem::Requirement
@@ -175,17 +167,73 @@ dependencies:
175
167
  name: curb
176
168
  requirement: !ruby/object:Gem::Requirement
177
169
  requirements:
178
- - - '='
170
+ - - ">="
179
171
  - !ruby/object:Gem::Version
180
- version: 0.7.16
172
+ version: '0'
181
173
  type: :development
182
174
  prerelease: false
183
175
  version_requirements: !ruby/object:Gem::Requirement
184
176
  requirements:
185
- - - '='
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ - !ruby/object:Gem::Dependency
181
+ name: webmock
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "<"
185
+ - !ruby/object:Gem::Version
186
+ version: '2.0'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "<"
192
+ - !ruby/object:Gem::Version
193
+ version: '2.0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: codeclimate-test-reporter
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ - !ruby/object:Gem::Dependency
209
+ name: simplecov
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ type: :development
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: rest-client
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
186
227
  - !ruby/object:Gem::Version
187
- version: 0.7.16
188
- description:
228
+ version: '0'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ description:
189
237
  email: oauth-ruby@googlegroupspec.com
190
238
  executables:
191
239
  - oauth
@@ -201,13 +249,18 @@ files:
201
249
  - bin/oauth
202
250
  - lib/oauth.rb
203
251
  - lib/oauth/cli.rb
252
+ - lib/oauth/cli/authorize_command.rb
253
+ - lib/oauth/cli/base_command.rb
254
+ - lib/oauth/cli/help_command.rb
255
+ - lib/oauth/cli/query_command.rb
256
+ - lib/oauth/cli/sign_command.rb
257
+ - lib/oauth/cli/version_command.rb
204
258
  - lib/oauth/client.rb
205
259
  - lib/oauth/client/action_controller_request.rb
206
260
  - lib/oauth/client/em_http.rb
207
261
  - lib/oauth/client/helper.rb
208
262
  - lib/oauth/client/net_http.rb
209
263
  - lib/oauth/consumer.rb
210
- - lib/oauth/core_ext.rb
211
264
  - lib/oauth/errors.rb
212
265
  - lib/oauth/errors/error.rb
213
266
  - lib/oauth/errors/problem.rb
@@ -217,6 +270,7 @@ files:
217
270
  - lib/oauth/oauth_test_helper.rb
218
271
  - lib/oauth/request_proxy.rb
219
272
  - lib/oauth/request_proxy/action_controller_request.rb
273
+ - lib/oauth/request_proxy/action_dispatch_request.rb
220
274
  - lib/oauth/request_proxy/base.rb
221
275
  - lib/oauth/request_proxy/curb_request.rb
222
276
  - lib/oauth/request_proxy/em_http_request.rb
@@ -239,38 +293,11 @@ files:
239
293
  - lib/oauth/tokens/server_token.rb
240
294
  - lib/oauth/tokens/token.rb
241
295
  - lib/oauth/version.rb
242
- - test/cases/oauth_case.rb
243
- - test/cases/spec/1_0-final/test_construct_request_url.rb
244
- - test/cases/spec/1_0-final/test_normalize_request_parameters.rb
245
- - test/cases/spec/1_0-final/test_parameter_encodings.rb
246
- - test/cases/spec/1_0-final/test_signature_base_strings.rb
247
- - test/integration/consumer_test.rb
248
- - test/test_access_token.rb
249
- - test/test_action_controller_request_proxy.rb
250
- - test/test_consumer.rb
251
- - test/test_curb_request_proxy.rb
252
- - test/test_em_http_client.rb
253
- - test/test_em_http_request_proxy.rb
254
- - test/test_helper.rb
255
- - test/test_hmac_sha1.rb
256
- - test/test_net_http_client.rb
257
- - test/test_net_http_request_proxy.rb
258
- - test/test_oauth_helper.rb
259
- - test/test_rack_request_proxy.rb
260
- - test/test_request_token.rb
261
- - test/test_rest_client_request_proxy.rb
262
- - test/test_rsa_sha1.rb
263
- - test/test_server.rb
264
- - test/test_signature.rb
265
- - test/test_signature_base.rb
266
- - test/test_signature_hmac_sha1.rb
267
- - test/test_signature_plain_text.rb
268
- - test/test_token.rb
269
- - test/test_typhoeus_request_proxy.rb
270
- homepage:
271
- licenses: []
296
+ homepage:
297
+ licenses:
298
+ - MIT
272
299
  metadata: {}
273
- post_install_message:
300
+ post_install_message:
274
301
  rdoc_options: []
275
302
  require_paths:
276
303
  - lib
@@ -278,45 +305,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
278
305
  requirements:
279
306
  - - ">="
280
307
  - !ruby/object:Gem::Version
281
- version: '0'
308
+ version: '2.0'
282
309
  required_rubygems_version: !ruby/object:Gem::Requirement
283
310
  requirements:
284
311
  - - ">="
285
312
  - !ruby/object:Gem::Version
286
313
  version: '0'
287
314
  requirements: []
288
- rubyforge_project:
289
- rubygems_version: 2.5.1
290
- signing_key:
315
+ rubygems_version: 3.0.8
316
+ signing_key:
291
317
  specification_version: 4
292
318
  summary: OAuth Core Ruby implementation
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:
319
+ test_files: []