oauth 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -116
  3. data/CODE_OF_CONDUCT.md +0 -0
  4. data/CONTRIBUTING.md +0 -0
  5. data/LICENSE +0 -0
  6. data/README.md +13 -9
  7. data/SECURITY.md +0 -0
  8. data/TODO +0 -0
  9. data/lib/oauth/cli/authorize_command.rb +8 -10
  10. data/lib/oauth/cli/base_command.rb +8 -6
  11. data/lib/oauth/cli/help_command.rb +0 -0
  12. data/lib/oauth/cli/query_command.rb +3 -3
  13. data/lib/oauth/cli/sign_command.rb +12 -15
  14. data/lib/oauth/cli/version_command.rb +0 -0
  15. data/lib/oauth/cli.rb +2 -2
  16. data/lib/oauth/client/action_controller_request.rb +14 -15
  17. data/lib/oauth/client/em_http.rb +28 -28
  18. data/lib/oauth/client/helper.rb +14 -17
  19. data/lib/oauth/client/net_http.rb +27 -27
  20. data/lib/oauth/client.rb +0 -0
  21. data/lib/oauth/consumer.rb +52 -62
  22. data/lib/oauth/errors/error.rb +0 -0
  23. data/lib/oauth/errors/problem.rb +0 -0
  24. data/lib/oauth/errors/unauthorized.rb +0 -0
  25. data/lib/oauth/errors.rb +0 -0
  26. data/lib/oauth/helper.rb +7 -7
  27. data/lib/oauth/oauth.rb +4 -4
  28. data/lib/oauth/oauth_test_helper.rb +0 -0
  29. data/lib/oauth/request_proxy/action_controller_request.rb +0 -0
  30. data/lib/oauth/request_proxy/action_dispatch_request.rb +0 -0
  31. data/lib/oauth/request_proxy/base.rb +3 -3
  32. data/lib/oauth/request_proxy/curb_request.rb +0 -0
  33. data/lib/oauth/request_proxy/em_http_request.rb +0 -0
  34. data/lib/oauth/request_proxy/jabber_request.rb +0 -0
  35. data/lib/oauth/request_proxy/mock_request.rb +0 -0
  36. data/lib/oauth/request_proxy/net_http.rb +2 -2
  37. data/lib/oauth/request_proxy/rack_request.rb +0 -0
  38. data/lib/oauth/request_proxy/rest_client_request.rb +2 -2
  39. data/lib/oauth/request_proxy/typhoeus_request.rb +0 -0
  40. data/lib/oauth/request_proxy.rb +3 -3
  41. data/lib/oauth/server.rb +8 -10
  42. data/lib/oauth/signature/base.rb +3 -4
  43. data/lib/oauth/signature/hmac/sha1.rb +1 -1
  44. data/lib/oauth/signature/hmac/sha256.rb +1 -1
  45. data/lib/oauth/signature/plaintext.rb +0 -0
  46. data/lib/oauth/signature/rsa/sha1.rb +3 -3
  47. data/lib/oauth/signature.rb +5 -5
  48. data/lib/oauth/token.rb +0 -0
  49. data/lib/oauth/tokens/access_token.rb +0 -0
  50. data/lib/oauth/tokens/consumer_token.rb +2 -2
  51. data/lib/oauth/tokens/request_token.rb +7 -8
  52. data/lib/oauth/tokens/server_token.rb +0 -1
  53. data/lib/oauth/tokens/token.rb +0 -0
  54. data/lib/oauth/version.rb +1 -1
  55. data/lib/oauth.rb +0 -0
  56. metadata +8 -7
@@ -16,8 +16,8 @@ module OAuth
16
16
  end
17
17
  end
18
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)
19
+ unless 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].freeze
21
21
  CA_FILES.each do |ca_file|
22
22
  if File.exist?(ca_file)
23
23
  CA_FILE = ca_file
@@ -29,15 +29,15 @@ module OAuth
29
29
 
30
30
  @@default_options = {
31
31
  # Signature method used by server. Defaults to HMAC-SHA1
32
- :signature_method => "HMAC-SHA1",
32
+ signature_method: "HMAC-SHA1",
33
33
 
34
34
  # default paths on site. These are the same as the defaults set up by the generators
35
- :request_token_path => "/oauth/request_token",
36
- :authenticate_path => "/oauth/authenticate",
37
- :authorize_path => "/oauth/authorize",
38
- :access_token_path => "/oauth/access_token",
35
+ request_token_path: "/oauth/request_token",
36
+ authenticate_path: "/oauth/authenticate",
37
+ authorize_path: "/oauth/authorize",
38
+ access_token_path: "/oauth/access_token",
39
39
 
40
- :proxy => nil,
40
+ proxy: nil,
41
41
  # How do we send the oauth values to the server see
42
42
  # https://oauth.net/core/1.0/#consumer_req_param for more info
43
43
  #
@@ -46,10 +46,10 @@ module OAuth
46
46
  # :header - via the Authorize header (Default) ( option 1. in spec)
47
47
  # :body - url form encoded in body of POST request ( option 2. in spec)
48
48
  # :query_string - via the query part of the url ( option 3. in spec)
49
- :scheme => :header,
49
+ scheme: :header,
50
50
 
51
51
  # Default http method used for OAuth Token Requests (defaults to :post)
52
- :http_method => :post,
52
+ http_method: :post,
53
53
 
54
54
  # Add a custom ca_file for consumer
55
55
  # :ca_file => '/etc/certs.pem'
@@ -59,9 +59,9 @@ module OAuth
59
59
  # nil, false - no debug output
60
60
  # true - uses $stdout
61
61
  # some_value - uses some_value
62
- :debug_output => nil,
62
+ debug_output: nil,
63
63
 
64
- :oauth_version => "1.0"
64
+ oauth_version: "1.0"
65
65
  }
66
66
 
67
67
  attr_accessor :options, :key, :secret
@@ -94,9 +94,8 @@ module OAuth
94
94
  @secret = consumer_secret
95
95
 
96
96
  # ensure that keys are symbols
97
- @options = @@default_options.merge(options.inject({}) do |opts, (key, value)|
97
+ @options = @@default_options.merge(options.each_with_object({}) do |(key, value), opts|
98
98
  opts[key.to_sym] = value
99
- opts
100
99
  end)
101
100
  end
102
101
 
@@ -127,7 +126,7 @@ module OAuth
127
126
  if custom_uri
128
127
  @uri = custom_uri
129
128
  @http = create_http # yike, oh well. less intrusive this way
130
- else # if no custom passed, we use existing, which, if unset, is set to site uri
129
+ else # if no custom passed, we use existing, which, if unset, is set to site uri
131
130
  @uri ||= URI.parse(site)
132
131
  end
133
132
  end
@@ -156,18 +155,18 @@ module OAuth
156
155
  # will be exchanged out of band
157
156
  request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND unless request_options[:exclude_callback]
158
157
 
159
- if block_given?
160
- response = token_request(
161
- http_method,
162
- (request_token_url? ? request_token_url : request_token_path),
163
- nil,
164
- request_options,
165
- *arguments,
166
- &block
167
- )
168
- else
169
- response = token_request(http_method, (request_token_url? ? request_token_url : request_token_path), nil, request_options, *arguments)
170
- end
158
+ response = if block_given?
159
+ token_request(
160
+ http_method,
161
+ (request_token_url? ? request_token_url : request_token_path),
162
+ nil,
163
+ request_options,
164
+ *arguments,
165
+ &block
166
+ )
167
+ else
168
+ token_request(http_method, (request_token_url? ? request_token_url : request_token_path), nil, request_options, *arguments)
169
+ end
171
170
  OAuth::RequestToken.from_hash(self, response)
172
171
  end
173
172
 
@@ -190,18 +189,18 @@ module OAuth
190
189
 
191
190
  # override the request with your own, this is useful for file uploads which Net::HTTP does not do
192
191
  req = create_signed_request(http_method, path, token, request_options, *arguments)
193
- return nil if block_given? and yield(req) == :done
192
+ return nil if block_given? && (yield(req) == :done)
194
193
  rsp = http.request(req)
195
194
  # check for an error reported by the Problem Reporting extension
196
195
  # (https://wiki.oauth.net/ProblemReporting)
197
196
  # note: a 200 may actually be an error; check for an oauth_problem key to be sure
198
197
  if !(headers = rsp.to_hash["www-authenticate"]).nil? &&
199
- (h = headers.select { |hdr| hdr =~ /^OAuth / }).any? &&
200
- h.first =~ /oauth_problem/
198
+ (h = headers.select { |hdr| hdr =~ /^OAuth / }).any? &&
199
+ h.first =~ /oauth_problem/
201
200
 
202
201
  # puts "Header: #{h.first}"
203
202
 
204
- # TODO doesn't handle broken responses from api.login.yahoo.com
203
+ # TODO: doesn't handle broken responses from api.login.yahoo.com
205
204
  # remove debug code when done
206
205
  params = OAuth::Helper.parse_header(h.first)
207
206
 
@@ -235,10 +234,9 @@ module OAuth
235
234
  # symbolize keys
236
235
  # TODO this could be considered unexpected behavior; symbols or not?
237
236
  # TODO this also drops subsequent values from multi-valued keys
238
- CGI.parse(response.body).inject({}) do |h,(k,v)|
237
+ CGI.parse(response.body).each_with_object({}) do |(k, v), h|
239
238
  h[k.strip.to_sym] = v.first
240
239
  h[k.strip] = v.first
241
- h
242
240
  end
243
241
  end
244
242
  when (300..399)
@@ -250,11 +248,11 @@ module OAuth
250
248
  response.error! if uri.path == path && our_uri.host == uri.host
251
249
 
252
250
  if uri.path == path && our_uri.host != uri.host
253
- options[:site] = "#{uri.scheme}://#{uri.host}"
254
- @http = create_http
251
+ options[:site] = "#{uri.scheme}://#{uri.host}"
252
+ @http = create_http
255
253
  end
256
254
 
257
- self.token_request(http_method, uri.path, token, request_options, arguments)
255
+ token_request(http_method, uri.path, token, request_options, arguments)
258
256
  when (400..499)
259
257
  raise OAuth::Unauthorized, response
260
258
  else
@@ -301,13 +299,13 @@ module OAuth
301
299
  @options[:access_token_path]
302
300
  end
303
301
 
304
- # TODO this is ugly, rewrite
302
+ # TODO: this is ugly, rewrite
305
303
  def request_token_url
306
304
  @options[:request_token_url] || site + request_token_path
307
305
  end
308
306
 
309
307
  def request_token_url?
310
- @options.has_key?(:request_token_url)
308
+ @options.key?(:request_token_url)
311
309
  end
312
310
 
313
311
  def authenticate_url
@@ -315,7 +313,7 @@ module OAuth
315
313
  end
316
314
 
317
315
  def authenticate_url?
318
- @options.has_key?(:authenticate_url)
316
+ @options.key?(:authenticate_url)
319
317
  end
320
318
 
321
319
  def authorize_url
@@ -323,7 +321,7 @@ module OAuth
323
321
  end
324
322
 
325
323
  def authorize_url?
326
- @options.has_key?(:authorize_url)
324
+ @options.key?(:authorize_url)
327
325
  end
328
326
 
329
327
  def access_token_url
@@ -331,7 +329,7 @@ module OAuth
331
329
  end
332
330
 
333
331
  def access_token_url?
334
- @options.has_key?(:access_token_url)
332
+ @options.key?(:access_token_url)
335
333
  end
336
334
 
337
335
  def proxy
@@ -342,10 +340,7 @@ module OAuth
342
340
 
343
341
  # Instantiates the http object
344
342
  def create_http(_url = nil)
345
-
346
- if !request_endpoint.nil?
347
- _url = request_endpoint
348
- end
343
+ _url = request_endpoint unless request_endpoint.nil?
349
344
 
350
345
  our_uri = if _url.nil? || _url[0] =~ /^\//
351
346
  URI.parse(site)
@@ -372,10 +367,8 @@ module OAuth
372
367
  if @options[:no_verify]
373
368
  http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE
374
369
  else
375
- ca_file = @options[:ca_file] || CA_FILE
376
- if ca_file
377
- http_object.ca_file = ca_file
378
- end
370
+ ca_file = @options[:ca_file] || CA_FILE
371
+ http_object.ca_file = ca_file if ca_file
379
372
  http_object.verify_mode = OpenSSL::SSL::VERIFY_PEER
380
373
  http_object.verify_depth = 5
381
374
  end
@@ -394,9 +387,7 @@ module OAuth
394
387
  def create_http_request(http_method, path, *arguments)
395
388
  http_method = http_method.to_sym
396
389
 
397
- if [:post, :put, :patch].include?(http_method)
398
- data = arguments.shift
399
- end
390
+ data = arguments.shift if %i[post put patch].include?(http_method)
400
391
 
401
392
  # if the base site contains a path, add it now
402
393
  # only add if the site host matches the current http object's host
@@ -408,22 +399,22 @@ module OAuth
408
399
 
409
400
  case http_method
410
401
  when :post
411
- request = Net::HTTP::Post.new(path,headers)
402
+ request = Net::HTTP::Post.new(path, headers)
412
403
  request["Content-Length"] = "0" # Default to 0
413
404
  when :put
414
- request = Net::HTTP::Put.new(path,headers)
405
+ request = Net::HTTP::Put.new(path, headers)
415
406
  request["Content-Length"] = "0" # Default to 0
416
407
  when :patch
417
- request = Net::HTTP::Patch.new(path,headers)
408
+ request = Net::HTTP::Patch.new(path, headers)
418
409
  request["Content-Length"] = "0" # Default to 0
419
410
  when :get
420
- request = Net::HTTP::Get.new(path,headers)
411
+ request = Net::HTTP::Get.new(path, headers)
421
412
  when :delete
422
- request = Net::HTTP::Delete.new(path,headers)
413
+ request = Net::HTTP::Delete.new(path, headers)
423
414
  when :head
424
- request = Net::HTTP::Head.new(path,headers)
415
+ request = Net::HTTP::Head.new(path, headers)
425
416
  else
426
- raise ArgumentError, "Don't know how to handle http_method: :#{http_method.to_s}"
417
+ raise ArgumentError, "Don't know how to handle http_method: :#{http_method}"
427
418
  end
428
419
 
429
420
  if data.is_a?(Hash)
@@ -448,13 +439,12 @@ module OAuth
448
439
  request
449
440
  end
450
441
 
451
- def marshal_dump(*args)
452
- {:key => @key, :secret => @secret, :options => @options}
442
+ def marshal_dump(*_args)
443
+ { key: @key, secret: @secret, options: @options }
453
444
  end
454
445
 
455
446
  def marshal_load(data)
456
447
  initialize(data[:key], data[:secret], data[:options])
457
448
  end
458
-
459
449
  end
460
450
  end
File without changes
File without changes
File without changes
data/lib/oauth/errors.rb CHANGED
File without changes
data/lib/oauth/helper.rb CHANGED
@@ -24,11 +24,11 @@ module OAuth
24
24
 
25
25
  # Generate a random key of up to +size+ bytes. The value returned is Base64 encoded with non-word
26
26
  # characters removed.
27
- def generate_key(size=32)
27
+ def generate_key(size = 32)
28
28
  Base64.encode64(OpenSSL::Random.random_bytes(size)).gsub(/\W/, "")
29
29
  end
30
30
 
31
- alias_method :generate_nonce, :generate_key
31
+ alias generate_nonce generate_key
32
32
 
33
33
  def generate_timestamp #:nodoc:
34
34
  Time.now.to_i.to_s
@@ -51,13 +51,13 @@ module OAuth
51
51
  normalize_nested_query(values, k)
52
52
  else
53
53
  values.sort.collect do |v|
54
- [escape(k),escape(v)] * "="
54
+ [escape(k), escape(v)].join("=")
55
55
  end
56
56
  end
57
57
  elsif values.is_a?(Hash)
58
58
  normalize_nested_query(values, k)
59
59
  else
60
- [escape(k),escape(values)] * "="
60
+ [escape(k), escape(values)].join("=")
61
61
  end
62
62
  end * "&"
63
63
  end
@@ -76,7 +76,7 @@ module OAuth
76
76
  normalize_nested_query(v, prefix ? "#{prefix}[#{k}]" : k)
77
77
  end.flatten.sort
78
78
  else
79
- [escape(prefix), escape(value)] * "="
79
+ [escape(prefix), escape(value)].join("=")
80
80
  end
81
81
  end
82
82
 
@@ -90,10 +90,10 @@ module OAuth
90
90
  #
91
91
  def parse_header(header)
92
92
  # decompose
93
- params = header[6,header.length].split(/[,=&]/)
93
+ params = header[6, header.length].split(/[,=&]/)
94
94
 
95
95
  # odd number of arguments - must be a malformed header.
96
- raise OAuth::Problem.new("Invalid authorization header") if params.size % 2 != 0
96
+ raise OAuth::Problem, "Invalid authorization header" if params.size.odd?
97
97
 
98
98
  params.map! do |v|
99
99
  # strip and unescape
data/lib/oauth/oauth.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  module OAuth
2
2
  # request tokens are passed between the consumer and the provider out of
3
3
  # band (i.e. callbacks cannot be used), per section 6.1.1
4
- OUT_OF_BAND = "oob"
4
+ OUT_OF_BAND = "oob".freeze
5
5
 
6
6
  # required parameters, per sections 6.1.1, 6.3.1, and 7
7
- PARAMETERS = %w(oauth_callback oauth_consumer_key oauth_token
8
- oauth_signature_method oauth_timestamp oauth_nonce oauth_verifier
9
- oauth_version oauth_signature oauth_body_hash)
7
+ PARAMETERS = %w[oauth_callback oauth_consumer_key oauth_token
8
+ oauth_signature_method oauth_timestamp oauth_nonce oauth_verifier
9
+ oauth_version oauth_signature oauth_body_hash].freeze
10
10
 
11
11
  # reserved character regexp, per section 5.1
12
12
  RESERVED_CHARACTERS = /[^a-zA-Z0-9\-\.\_\~]/
File without changes
File without changes
File without changes
@@ -79,15 +79,15 @@ module OAuth
79
79
  end
80
80
 
81
81
  def parameters_for_signature
82
- parameters.select { |k, _v| !signature_and_unsigned_parameters.include?(k) }
82
+ parameters.reject { |k, _v| signature_and_unsigned_parameters.include?(k) }
83
83
  end
84
84
 
85
85
  def oauth_parameters
86
- parameters.select { |k, _v| OAuth::PARAMETERS.include?(k) }.select { |_k, v| v != "" }
86
+ parameters.select { |k, _v| OAuth::PARAMETERS.include?(k) }.reject { |_k, v| v == "" }
87
87
  end
88
88
 
89
89
  def non_oauth_parameters
90
- parameters.select { |k, _v| !OAuth::PARAMETERS.include?(k) }
90
+ parameters.reject { |k, _v| OAuth::PARAMETERS.include?(k) }
91
91
  end
92
92
 
93
93
  def signature_and_unsigned_parameters
File without changes
File without changes
File without changes
File without changes
@@ -39,8 +39,8 @@ module OAuth
39
39
  # request_params.each{|k,v| request_params[k] = [nil] if v == []}
40
40
 
41
41
  if options[:parameters]
42
- options[:parameters].each do |k,v|
43
- if request_params.has_key?(k) && v
42
+ options[:parameters].each do |k, v|
43
+ if request_params.key?(k) && v
44
44
  request_params[k] << v
45
45
  else
46
46
  request_params[k] = [v]
File without changes
@@ -51,9 +51,9 @@ module OAuth
51
51
  query.split("&").inject({}) do |result, q|
52
52
  k, v = q.split("=")
53
53
  if !v.nil?
54
- result.merge({ k => v })
54
+ result.merge(k => v)
55
55
  elsif !result.key?(k)
56
- result.merge({ k => true })
56
+ result.merge(k => true)
57
57
  else
58
58
  result
59
59
  end
File without changes
@@ -5,13 +5,13 @@ module OAuth
5
5
  end
6
6
 
7
7
  def self.proxy(request, options = {})
8
- return request if request.kind_of?(OAuth::RequestProxy::Base)
8
+ return request if request.is_a?(OAuth::RequestProxy::Base)
9
9
 
10
10
  klass = available_proxies[request.class]
11
11
 
12
12
  # Search for possible superclass matches.
13
13
  if klass.nil?
14
- request_parent = available_proxies.keys.find { |rc| request.kind_of?(rc) }
14
+ request_parent = available_proxies.keys.find { |rc| request.is_a?(rc) }
15
15
  klass = available_proxies[request_parent]
16
16
  end
17
17
 
@@ -19,6 +19,6 @@ module OAuth
19
19
  klass.new(request, options)
20
20
  end
21
21
 
22
- class UnknownRequestType < Exception; end
22
+ class UnknownRequestType < RuntimeError; end
23
23
  end
24
24
  end
data/lib/oauth/server.rb CHANGED
@@ -8,9 +8,9 @@ module OAuth
8
8
  attr_accessor :base_url
9
9
 
10
10
  @@server_paths = {
11
- :request_token_path => "/oauth/request_token",
12
- :authorize_path => "/oauth/authorize",
13
- :access_token_path => "/oauth/access_token"
11
+ request_token_path: "/oauth/request_token",
12
+ authorize_path: "/oauth/authorize",
13
+ access_token_path: "/oauth/access_token"
14
14
  }
15
15
 
16
16
  # Create a new server instance
@@ -23,7 +23,7 @@ module OAuth
23
23
  [generate_key(16), generate_key]
24
24
  end
25
25
 
26
- def generate_consumer_credentials(params = {})
26
+ def generate_consumer_credentials(_params = {})
27
27
  Consumer.new(*generate_credentials)
28
28
  end
29
29
 
@@ -31,12 +31,10 @@ module OAuth
31
31
  def create_consumer
32
32
  creds = generate_credentials
33
33
  Consumer.new(creds[0], creds[1],
34
- {
35
- :site => base_url,
36
- :request_token_path => request_token_path,
37
- :authorize_path => authorize_path,
38
- :access_token_path => access_token_path
39
- })
34
+ site: base_url,
35
+ request_token_path: request_token_path,
36
+ authorize_path: authorize_path,
37
+ access_token_path: access_token_path)
40
38
  end
41
39
 
42
40
  def request_token_path
@@ -17,7 +17,7 @@ module OAuth::Signature
17
17
  end
18
18
 
19
19
  def initialize(request, options = {}, &block)
20
- raise TypeError unless request.kind_of?(OAuth::RequestProxy::Base)
20
+ raise TypeError unless request.is_a?(OAuth::RequestProxy::Base)
21
21
  @request = request
22
22
  @options = options
23
23
 
@@ -47,7 +47,7 @@ module OAuth::Signature
47
47
  end
48
48
 
49
49
  def signature
50
- Base64.encode64(digest).chomp.gsub(/\n/,"")
50
+ Base64.encode64(digest).chomp.delete("\n")
51
51
  end
52
52
 
53
53
  def ==(cmp_signature)
@@ -57,7 +57,7 @@ module OAuth::Signature
57
57
  end
58
58
 
59
59
  def verify
60
- self == self.request.signature
60
+ self == request.signature
61
61
  end
62
62
 
63
63
  def signature_base_string
@@ -93,6 +93,5 @@ module OAuth::Signature
93
93
  def raise_instantiation_error
94
94
  raise NotImplementedError, "Cannot instantiate #{self.class.name} class directly."
95
95
  end
96
-
97
96
  end
98
97
  end
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
5
5
  implements "hmac-sha1"
6
6
 
7
7
  def body_hash
8
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.gsub(/\n/,"")
8
+ Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
9
9
  end
10
10
 
11
11
  private
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
5
5
  implements "hmac-sha256"
6
6
 
7
7
  def body_hash
8
- Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.gsub(/\n/,"")
8
+ Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.delete("\n")
9
9
  end
10
10
 
11
11
  private
File without changes
@@ -19,7 +19,7 @@ module OAuth::Signature::RSA
19
19
  end
20
20
 
21
21
  def body_hash
22
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.gsub(/\n/,"")
22
+ Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
23
23
  end
24
24
 
25
25
  private
@@ -27,9 +27,9 @@ module OAuth::Signature::RSA
27
27
  def decode_public_key
28
28
  case consumer_secret
29
29
  when /-----BEGIN CERTIFICATE-----/
30
- OpenSSL::X509::Certificate.new( consumer_secret).public_key
30
+ OpenSSL::X509::Certificate.new(consumer_secret).public_key
31
31
  else
32
- OpenSSL::PKey::RSA.new( consumer_secret)
32
+ OpenSSL::PKey::RSA.new(consumer_secret)
33
33
  end
34
34
  end
35
35
 
@@ -20,26 +20,26 @@ module OAuth
20
20
 
21
21
  # Sign a +request+
22
22
  def self.sign(request, options = {}, &block)
23
- self.build(request, options, &block).signature
23
+ build(request, options, &block).signature
24
24
  end
25
25
 
26
26
  # Verify the signature of +request+
27
27
  def self.verify(request, options = {}, &block)
28
- self.build(request, options, &block).verify
28
+ build(request, options, &block).verify
29
29
  end
30
30
 
31
31
  # Create the signature base string for +request+. This string is the normalized parameter information.
32
32
  #
33
33
  # See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1]
34
34
  def self.signature_base_string(request, options = {}, &block)
35
- self.build(request, options, &block).signature_base_string
35
+ build(request, options, &block).signature_base_string
36
36
  end
37
37
 
38
38
  # Create the body hash for a request
39
39
  def self.body_hash(request, options = {}, &block)
40
- self.build(request, options, &block).body_hash
40
+ build(request, options, &block).body_hash
41
41
  end
42
42
 
43
- class UnknownSignatureMethod < Exception; end
43
+ class UnknownSignatureMethod < RuntimeError; end
44
44
  end
45
45
  end
data/lib/oauth/token.rb CHANGED
File without changes
File without changes
@@ -5,12 +5,12 @@ module OAuth
5
5
  attr_reader :response
6
6
 
7
7
  def self.from_hash(consumer, hash)
8
- token = self.new(consumer, hash[:oauth_token], hash[:oauth_token_secret])
8
+ token = new(consumer, hash[:oauth_token], hash[:oauth_token_secret])
9
9
  token.params = hash
10
10
  token
11
11
  end
12
12
 
13
- def initialize(consumer, token="", secret="")
13
+ def initialize(consumer, token = "", secret = "")
14
14
  super(token, secret)
15
15
  @consumer = consumer
16
16
  @params = {}
@@ -2,19 +2,18 @@ module OAuth
2
2
  # The RequestToken is used for the initial Request.
3
3
  # This is normally created by the Consumer object.
4
4
  class RequestToken < ConsumerToken
5
-
6
5
  # Generate an authorization URL for user authorization
7
6
  def authorize_url(params = nil)
8
- return nil if self.token.nil?
7
+ return nil if token.nil?
9
8
 
10
- params = (params || {}).merge(:oauth_token => self.token)
9
+ params = (params || {}).merge(oauth_token: token)
11
10
  build_url(consumer.authorize_url, params)
12
11
  end
13
12
 
14
13
  def authenticate_url(params = nil)
15
- return nil if self.token.nil?
14
+ return nil if token.nil?
16
15
 
17
- params = (params || {}).merge(:oauth_token => self.token)
16
+ params = (params || {}).merge(oauth_token: token)
18
17
  build_url(consumer.authenticate_url, params)
19
18
  end
20
19
 
@@ -28,16 +27,16 @@ module OAuth
28
27
  OAuth::AccessToken.from_hash(consumer, response)
29
28
  end
30
29
 
31
- protected
30
+ protected
32
31
 
33
32
  # construct an authorization or authentication url
34
33
  def build_url(base_url, params)
35
34
  uri = URI.parse(base_url.to_s)
36
35
  queries = {}
37
36
  queries = Hash[URI.decode_www_form(uri.query)] if uri.query
38
- # TODO doesn't handle array values correctly
37
+ # TODO: doesn't handle array values correctly
39
38
  queries.merge!(params) if params
40
- uri.query = URI.encode_www_form(queries) if !queries.empty?
39
+ uri.query = URI.encode_www_form(queries) unless queries.empty?
41
40
  uri.to_s
42
41
  end
43
42
  end