signet 0.14.1 → 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c94f4ee9a5ea982bba69826873be998a4cbf833af8c70920fd2384558efe33e5
4
- data.tar.gz: 211e019a051159858a4e18cbe64efe9989a13df08b2d449e67ac4057f91f4332
3
+ metadata.gz: 53569e11ad43433cd62b3d887bc959a632a835e6fa72ada936856967820e24df
4
+ data.tar.gz: 30970162c79ed861a09a6424bb84822685a2f5413d9ac1c0b5172cad3fa8a197
5
5
  SHA512:
6
- metadata.gz: d8e5ac7a7977d89976275a4988e62139622436dea9f539a934b99e94f32832e57c8c522a91647449f9b5ea199fa561ad62680803f7d1dbe5b40946087b95dae4
7
- data.tar.gz: 2b6476b3b89d09d66c0274fa9bd1b5da6aebb68932e7e15325cf34ccca14b5d5f5a16f76a22330bbcb9f6b66882e016eeccb54977e7a87cc4ce6f32568361808
6
+ metadata.gz: e4d619adaec9829803ac0fbc1e6f3c13f6d2b03caa64252bc35d4df0bcd72b9ef995b3f1a157c5ab02e328c88ca0d74b25edefebbf08e7ab41361017a5d5fdd8
7
+ data.tar.gz: ea2ed4ad72eace1d2ec0936a0243ca7ad07920cc9fee43a27f2c3f6de100370c60953a7842f6a416490e5bd93d7f17ff7771d7c7ef515fe8ad7ffcc4474547a1
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ --no-private
2
+ --title=Signet
3
+ --markup markdown
4
+ --markup-provider redcarpet
5
+
6
+ ./lib/**/*.rb
7
+ -
8
+ README.md
9
+ CHANGELOG.md
10
+ CODE_OF_CONDUCT.md
11
+ LICENSE
data/CHANGELOG.md CHANGED
@@ -1,11 +1,35 @@
1
1
  # Release History
2
2
 
3
- ## [0.14.1](https://www.github.com/googleapis/signet/compare/v0.14.0...v0.14.1) (2021-01-27)
3
+ ### [0.16.1](https://www.github.com/googleapis/signet/compare/signet/v0.16.0...signet/v0.16.1) (2022-02-24)
4
4
 
5
5
 
6
6
  ### Bug Fixes
7
7
 
8
- * Fix OAuth1 signature with duplicate query param names ([9f5b81a](https://www.github.com/googleapis/signet/commit/9f5b81a60625a6e6f0e5bca24c67b90e73d7479b))
8
+ * Support Faraday 2 ([f1c6cc3](https://www.github.com/googleapis/signet/commit/f1c6cc373876ea84281fadf72d7041976f2bc133))
9
+
10
+ ## [0.16.0](https://www.github.com/googleapis/signet/compare/signet/v0.15.0...signet/v0.16.0) (2021-09-03)
11
+
12
+
13
+ ### Features
14
+
15
+ * Support for fetching an access token with basic auth ([3c43e32](https://www.github.com/googleapis/signet/commit/3c43e3201d79b1e2303e672f3c07e060c5079423))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * Remove extraneous files from the gem ([e515bb6](https://www.github.com/googleapis/signet/commit/e515bb627a64e32ec885412fed8b01eb73067ee0))
21
+ * Require addressable 2.8 to remediate vulnerability ([9a2f899](https://www.github.com/googleapis/signet/commit/9a2f8996f522538c4bb7998535e2a50331d564fc))
22
+
23
+ ## [0.15.0](https://www.github.com/googleapis/signet/compare/v0.14.1...v0.15.0) (2021-03-04)
24
+
25
+
26
+ ### Features
27
+
28
+ * Drop support for Ruby 2.4 and add support for Ruby 3.0 ([bd6fe87](https://www.github.com/googleapis/signet/commit/bd6fe87948f8fc7702720dae651e82f4fd348b5d))
29
+
30
+ ## 0.14.1 / 2021-01-27
31
+
32
+ * Fix OAuth1 signature with duplicate query param names
9
33
 
10
34
  ## 0.14.0 / 2020-03-31
11
35
 
@@ -0,0 +1,43 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project,
4
+ and in the interest of fostering an open and welcoming community,
5
+ we pledge to respect all people who contribute through reporting issues,
6
+ posting feature requests, updating documentation,
7
+ submitting pull requests or patches, and other activities.
8
+
9
+ We are committed to making participation in this project
10
+ a harassment-free experience for everyone,
11
+ regardless of level of experience, gender, gender identity and expression,
12
+ sexual orientation, disability, personal appearance,
13
+ body size, race, ethnicity, age, religion, or nationality.
14
+
15
+ Examples of unacceptable behavior by participants include:
16
+
17
+ * The use of sexualized language or imagery
18
+ * Personal attacks
19
+ * Trolling or insulting/derogatory comments
20
+ * Public or private harassment
21
+ * Publishing other's private information,
22
+ such as physical or electronic
23
+ addresses, without explicit permission
24
+ * Other unethical or unprofessional conduct.
25
+
26
+ Project maintainers have the right and responsibility to remove, edit, or reject
27
+ comments, commits, code, wiki edits, issues, and other contributions
28
+ that are not aligned to this Code of Conduct.
29
+ By adopting this Code of Conduct,
30
+ project maintainers commit themselves to fairly and consistently
31
+ applying these principles to every aspect of managing this project.
32
+ Project maintainers who do not follow or enforce the Code of Conduct
33
+ may be permanently removed from the project team.
34
+
35
+ This code of conduct applies both within project spaces and in public spaces
36
+ when an individual is representing the project or its community.
37
+
38
+ Instances of abusive, harassing, or otherwise unacceptable behavior
39
+ may be reported by opening an issue
40
+ or contacting one or more of the project maintainers.
41
+
42
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
43
+ available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
data/README.md CHANGED
@@ -31,8 +31,8 @@ require 'signet/oauth_2/client'
31
31
  client = Signet::OAuth2::Client.new(
32
32
  :authorization_uri => 'https://accounts.google.com/o/oauth2/auth',
33
33
  :token_credential_uri => 'https://oauth2.googleapis.com/token',
34
- :client_id => '44410190108-74nkm6jc5e3vvjqis803frkvmu88cu3a.apps.googleusercontent.com',
35
- :client_secret => 'X1NUhvO-rQr9sm8uUSMY8i7v',
34
+ :client_id => "#{YOUR_CLIENT_ID}.apps.googleusercontent.com",
35
+ :client_secret => YOUR_CLIENT_SECRET,
36
36
  :scope => 'email profile',
37
37
  :redirect_uri => 'https://example.client.com/oauth'
38
38
  )
@@ -59,8 +59,11 @@ Be sure `https://rubygems.org` is in your gem sources.
59
59
 
60
60
  ## Supported Ruby Versions
61
61
 
62
- This library requires Ruby 2.4 or later.
63
- In general, this library supports Ruby versions that are considered current and
64
- supported by Ruby Core (that is, Ruby versions that are either in normal
65
- maintenance or in security maintenance).
66
- See https://www.ruby-lang.org/en/downloads/branches/ for further details.
62
+ This library is supported on Ruby 2.5+.
63
+
64
+ Google provides official support for Ruby versions that are actively supported
65
+ by Ruby Core—that is, Ruby versions that are either in normal maintenance or in
66
+ security maintenance, and not end of life. Currently, this means Ruby 2.5 and
67
+ later. Older versions of Ruby _may_ still work, but are unsupported and not
68
+ recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
69
+ about the Ruby support schedule.
data/SECURITY.md ADDED
@@ -0,0 +1,7 @@
1
+ # Security Policy
2
+
3
+ To report a security issue, please use [g.co/vulnz](https://g.co/vulnz).
4
+
5
+ The Google Security Team will respond within 5 working days of your report on g.co/vulnz.
6
+
7
+ We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue.
@@ -89,7 +89,7 @@ module Signet
89
89
  # @see Signet::OAuth1::Client#initialize
90
90
  def update! options = {}
91
91
  # Normalize key to String to allow indifferent access.
92
- options = options.each_with_object({}) { |(k, v), accu| accu[k.to_s] = v; }
92
+ options = options.to_h.transform_keys(&:to_s)
93
93
  self.temporary_credential_uri = options["temporary_credential_uri"]
94
94
  self.authorization_uri = options["authorization_uri"]
95
95
  self.token_credential_uri = options["token_credential_uri"]
@@ -128,12 +128,12 @@ module Signet
128
128
  # new_temporary_credential_uri
129
129
  # The temporary credentials URI.
130
130
  def temporary_credential_uri= new_temporary_credential_uri
131
- if !new_temporary_credential_uri.nil?
131
+ if new_temporary_credential_uri.nil?
132
+ @temporary_credential_uri = nil
133
+ else
132
134
  new_temporary_credential_uri =
133
135
  Addressable::URI.parse new_temporary_credential_uri
134
136
  @temporary_credential_uri = new_temporary_credential_uri
135
- else
136
- @temporary_credential_uri = nil
137
137
  end
138
138
  end
139
139
  alias request_token_uri= temporary_credential_uri=
@@ -163,14 +163,14 @@ module Signet
163
163
  # @param [Addressable::URI, String, #to_str] new_authorization_uri
164
164
  # The authorization URI.
165
165
  def authorization_uri= new_authorization_uri
166
- if !new_authorization_uri.nil?
166
+ if new_authorization_uri.nil?
167
+ @authorization_uri = nil
168
+ else
167
169
  new_authorization_uri = Addressable::URI.send(
168
170
  new_authorization_uri.is_a?(Hash) ? :new : :parse,
169
171
  new_authorization_uri
170
172
  )
171
173
  @authorization_uri = new_authorization_uri
172
- else
173
- @authorization_uri = nil
174
174
  end
175
175
  end
176
176
 
@@ -189,14 +189,14 @@ module Signet
189
189
  # @param [Addressable::URI, Hash, String, #to_str] new_token_credential_uri
190
190
  # The token credential URI.
191
191
  def token_credential_uri= new_token_credential_uri
192
- if !new_token_credential_uri.nil?
192
+ if new_token_credential_uri.nil?
193
+ @token_credential_uri = nil
194
+ else
193
195
  new_token_credential_uri = Addressable::URI.send(
194
196
  new_token_credential_uri.is_a?(Hash) ? :new : :parse,
195
197
  new_token_credential_uri
196
198
  )
197
199
  @token_credential_uri = new_token_credential_uri
198
- else
199
- @token_credential_uri = nil
200
200
  end
201
201
  end
202
202
  alias access_token_uri= token_credential_uri=
@@ -217,8 +217,7 @@ module Signet
217
217
  elsif !client_credential_key && !client_credential_secret
218
218
  nil
219
219
  else
220
- raise ArgumentError,
221
- "The client credential key and secret must be set."
220
+ raise ArgumentError, "The client credential key and secret must be set."
222
221
  end
223
222
  end
224
223
  alias consumer_token client_credential
@@ -229,7 +228,10 @@ module Signet
229
228
  # @param [Signet::OAuth1::Credential] new_client_credential
230
229
  # The client credentials.
231
230
  def client_credential= new_client_credential
232
- if !new_client_credential.nil?
231
+ if new_client_credential.nil?
232
+ @client_credential_key = nil
233
+ @client_credential_secret = nil
234
+ else
233
235
  unless new_client_credential.is_a? ::Signet::OAuth1::Credential
234
236
  raise TypeError,
235
237
  "Expected Signet::OAuth1::Credential, " \
@@ -237,9 +239,6 @@ module Signet
237
239
  end
238
240
  @client_credential_key = new_client_credential.key
239
241
  @client_credential_secret = new_client_credential.secret
240
- else
241
- @client_credential_key = nil
242
- @client_credential_secret = nil
243
242
  end
244
243
  end
245
244
  alias consumer_token= client_credential=
@@ -259,15 +258,15 @@ module Signet
259
258
  # @param [String, #to_str] new_client_credential_key
260
259
  # The client credential key.
261
260
  def client_credential_key= new_client_credential_key
262
- if !new_client_credential_key.nil?
261
+ if new_client_credential_key.nil?
262
+ @client_credential_key = nil
263
+ else
263
264
  unless new_client_credential_key.respond_to? :to_str
264
265
  raise TypeError,
265
266
  "Can't convert #{new_client_credential_key.class} into String."
266
267
  end
267
268
  new_client_credential_key = new_client_credential_key.to_str
268
269
  @client_credential_key = new_client_credential_key
269
- else
270
- @client_credential_key = nil
271
270
  end
272
271
  end
273
272
  alias consumer_key= client_credential_key=
@@ -287,7 +286,9 @@ module Signet
287
286
  # @param [String, #to_str] new_client_credential_secret
288
287
  # The client credential secret.
289
288
  def client_credential_secret= new_client_credential_secret
290
- if !new_client_credential_secret.nil?
289
+ if new_client_credential_secret.nil?
290
+ @client_credential_secret = nil
291
+ else
291
292
  unless new_client_credential_secret.respond_to? :to_str
292
293
  raise TypeError,
293
294
  "Can't convert #{new_client_credential_secret.class} " \
@@ -295,8 +296,6 @@ module Signet
295
296
  end
296
297
  new_client_credential_secret = new_client_credential_secret.to_str
297
298
  @client_credential_secret = new_client_credential_secret
298
- else
299
- @client_credential_secret = nil
300
299
  end
301
300
  end
302
301
  alias consumer_secret= client_credential_secret=
@@ -311,12 +310,10 @@ module Signet
311
310
  temporary_credential_key,
312
311
  temporary_credential_secret
313
312
  )
314
- elsif !temporary_credential_key &&
315
- !temporary_credential_secret
313
+ elsif !temporary_credential_key && !temporary_credential_secret
316
314
  nil
317
315
  else
318
- raise ArgumentError,
319
- "The temporary credential key and secret must be set."
316
+ raise ArgumentError, "The temporary credential key and secret must be set."
320
317
  end
321
318
  end
322
319
  alias request_token temporary_credential
@@ -327,7 +324,10 @@ module Signet
327
324
  # @param [Signet::OAuth1::Credential] new_temporary_credential
328
325
  # The temporary credentials.
329
326
  def temporary_credential= new_temporary_credential
330
- if !new_temporary_credential.nil?
327
+ if new_temporary_credential.nil?
328
+ @temporary_credential_key = nil
329
+ @temporary_credential_secret = nil
330
+ else
331
331
  unless new_temporary_credential.is_a? ::Signet::OAuth1::Credential
332
332
  raise TypeError,
333
333
  "Expected Signet::OAuth1::Credential, " \
@@ -335,9 +335,6 @@ module Signet
335
335
  end
336
336
  @temporary_credential_key = new_temporary_credential.key
337
337
  @temporary_credential_secret = new_temporary_credential.secret
338
- else
339
- @temporary_credential_key = nil
340
- @temporary_credential_secret = nil
341
338
  end
342
339
  end
343
340
  alias request_token= temporary_credential=
@@ -357,7 +354,9 @@ module Signet
357
354
  # @param [String, #to_str] new_temporary_credential_key
358
355
  # The temporary credential key.
359
356
  def temporary_credential_key= new_temporary_credential_key
360
- if !new_temporary_credential_key.nil?
357
+ if new_temporary_credential_key.nil?
358
+ @temporary_credential_key = nil
359
+ else
361
360
  unless new_temporary_credential_key.respond_to? :to_str
362
361
  raise TypeError,
363
362
  "Can't convert #{new_temporary_credential_key.class} " \
@@ -365,8 +364,6 @@ module Signet
365
364
  end
366
365
  new_temporary_credential_key = new_temporary_credential_key.to_str
367
366
  @temporary_credential_key = new_temporary_credential_key
368
- else
369
- @temporary_credential_key = nil
370
367
  end
371
368
  end
372
369
  alias request_token_key= temporary_credential_key=
@@ -386,7 +383,9 @@ module Signet
386
383
  # @param [String, #to_str] new_temporary_credential_secret
387
384
  # The temporary credential secret.
388
385
  def temporary_credential_secret= new_temporary_credential_secret
389
- if !new_temporary_credential_secret.nil?
386
+ if new_temporary_credential_secret.nil?
387
+ @temporary_credential_secret = nil
388
+ else
390
389
  unless new_temporary_credential_secret.respond_to? :to_str
391
390
  raise TypeError,
392
391
  "Can't convert #{new_temporary_credential_secret.class} " \
@@ -395,8 +394,6 @@ module Signet
395
394
  new_temporary_credential_secret =
396
395
  new_temporary_credential_secret.to_str
397
396
  @temporary_credential_secret = new_temporary_credential_secret
398
- else
399
- @temporary_credential_secret = nil
400
397
  end
401
398
  end
402
399
  alias request_token_secret= temporary_credential_secret=
@@ -411,12 +408,10 @@ module Signet
411
408
  token_credential_key,
412
409
  token_credential_secret
413
410
  )
414
- elsif !token_credential_key &&
415
- !token_credential_secret
411
+ elsif !token_credential_key && !token_credential_secret
416
412
  nil
417
413
  else
418
- raise ArgumentError,
419
- "The token credential key and secret must be set."
414
+ raise ArgumentError, "The token credential key and secret must be set."
420
415
  end
421
416
  end
422
417
  alias access_token token_credential
@@ -427,7 +422,10 @@ module Signet
427
422
  # @param [Signet::OAuth1::Credential] new_token_credential
428
423
  # The token credentials.
429
424
  def token_credential= new_token_credential
430
- if !new_token_credential.nil?
425
+ if new_token_credential.nil?
426
+ @token_credential_key = nil
427
+ @token_credential_secret = nil
428
+ else
431
429
  unless new_token_credential.is_a? ::Signet::OAuth1::Credential
432
430
  raise TypeError,
433
431
  "Expected Signet::OAuth1::Credential, " \
@@ -435,9 +433,6 @@ module Signet
435
433
  end
436
434
  @token_credential_key = new_token_credential.key
437
435
  @token_credential_secret = new_token_credential.secret
438
- else
439
- @token_credential_key = nil
440
- @token_credential_secret = nil
441
436
  end
442
437
  end
443
438
  alias access_token= token_credential=
@@ -457,7 +452,9 @@ module Signet
457
452
  # @param [String, #to_str] new_token_credential_key
458
453
  # The token credential key.
459
454
  def token_credential_key= new_token_credential_key
460
- if !new_token_credential_key.nil?
455
+ if new_token_credential_key.nil?
456
+ @token_credential_key = nil
457
+ else
461
458
  unless new_token_credential_key.respond_to? :to_str
462
459
  raise TypeError,
463
460
  "Can't convert #{new_token_credential_key.class} " \
@@ -465,8 +462,6 @@ module Signet
465
462
  end
466
463
  new_token_credential_key = new_token_credential_key.to_str
467
464
  @token_credential_key = new_token_credential_key
468
- else
469
- @token_credential_key = nil
470
465
  end
471
466
  end
472
467
  alias access_token_key= token_credential_key=
@@ -486,7 +481,9 @@ module Signet
486
481
  # @param [String, #to_str] new_token_credential_secret
487
482
  # The token credential secret.
488
483
  def token_credential_secret= new_token_credential_secret
489
- if !new_token_credential_secret.nil?
484
+ if new_token_credential_secret.nil?
485
+ @token_credential_secret = nil
486
+ else
490
487
  unless new_token_credential_secret.respond_to? :to_str
491
488
  raise TypeError,
492
489
  "Can't convert #{new_token_credential_secret.class} " \
@@ -495,8 +492,6 @@ module Signet
495
492
  new_token_credential_secret =
496
493
  new_token_credential_secret.to_str
497
494
  @token_credential_secret = new_token_credential_secret
498
- else
499
- @token_credential_secret = nil
500
495
  end
501
496
  end
502
497
  alias access_token_secret= token_credential_secret=
@@ -515,15 +510,15 @@ module Signet
515
510
  # @param [String, #to_str] new_callback
516
511
  # The OAuth callback.
517
512
  def callback= new_callback
518
- if !new_callback.nil?
513
+ if new_callback.nil?
514
+ @callback = nil
515
+ else
519
516
  unless new_callback.respond_to? :to_str
520
517
  raise TypeError,
521
518
  "Can't convert #{new_callback.class} into String."
522
519
  end
523
520
  new_callback = new_callback.to_str
524
521
  @callback = new_callback
525
- else
526
- @callback = nil
527
522
  end
528
523
  end
529
524
 
@@ -556,7 +551,7 @@ module Signet
556
551
  # @note A serialized client contains sensitive information. Persist or transmit with care.
557
552
  #
558
553
  # @return [String] A serialized JSON representation of the client.
559
- def to_json
554
+ def to_json *_args
560
555
  MultiJson.dump(
561
556
  "temporary_credential_uri" => temporary_credential_uri,
562
557
  "authorization_uri" => authorization_uri,
@@ -571,8 +566,6 @@ module Signet
571
566
  "token_credential_secret" => token_credential_secret
572
567
  )
573
568
  end
574
- # rubocop:disable Metrics/AbcSize
575
- # rubocop:disable Metrics/MethodLength
576
569
 
577
570
  ##
578
571
  # Generates a request for temporary credentials.
@@ -635,8 +628,6 @@ module Signet
635
628
  req.headers = Faraday::Utils::Headers.new headers
636
629
  end
637
630
  end
638
- # rubocop:enable Metrics/AbcSize
639
- # rubocop:enable Metrics/MethodLength
640
631
  alias generate_request_token_request generate_temporary_credential_request
641
632
 
642
633
  ##
@@ -709,8 +700,6 @@ module Signet
709
700
  self.temporary_credential = credential
710
701
  end
711
702
  alias fetch_request_token! fetch_temporary_credential!
712
- # rubocop:disable Metrics/AbcSize
713
- # rubocop:disable Metrics/MethodLength
714
703
 
715
704
  ##
716
705
  # Generates a request for token credentials.
@@ -776,7 +765,6 @@ module Signet
776
765
  req.headers = Faraday::Utils::Headers.new headers
777
766
  end
778
767
  end
779
- # rubocop:enable Metrics/MethodLength
780
768
  alias generate_access_token_request generate_token_credential_request
781
769
 
782
770
  ##
@@ -818,7 +806,6 @@ module Signet
818
806
  message, request: request, response: response
819
807
  )
820
808
  end
821
- # rubocop:enable Metrics/AbcSize
822
809
  alias fetch_access_token fetch_token_credential
823
810
 
824
811
  ##
@@ -846,10 +833,6 @@ module Signet
846
833
  self.token_credential = credential
847
834
  end
848
835
  alias fetch_access_token! fetch_token_credential!
849
- # rubocop:disable Metrics/AbcSize
850
- # rubocop:disable Metrics/CyclomaticComplexity
851
- # rubocop:disable Metrics/MethodLength
852
- # rubocop:disable Metrics/PerceivedComplexity
853
836
 
854
837
  ##
855
838
  # Generates an authenticated request for protected resources.
@@ -943,14 +926,14 @@ module Signet
943
926
 
944
927
  content_type = request["Content-Type"].to_s
945
928
  content_type = content_type.split(";", 2).first if content_type.index ";"
946
- if request.method == :post && content_type == "application/x-www-form-urlencoded"
929
+ if request.http_method == :post && content_type == "application/x-www-form-urlencoded"
947
930
  # Serializes the body in case a hash/array was passed. Noop if already string like
948
931
  encoder = Faraday::Request::UrlEncoded.new(->(_env) {})
949
932
  encoder.call env
950
933
  request.body = env[:body]
951
934
 
952
935
  post_parameters = Addressable::URI.form_unencode env[:body]
953
- parameters = parameters.concat post_parameters
936
+ parameters.concat post_parameters
954
937
  end
955
938
 
956
939
  # No need to attach URI query parameters, the .sign_parameters
@@ -970,10 +953,6 @@ module Signet
970
953
  request["Cache-Control"] = "no-store"
971
954
  request
972
955
  end
973
- # rubocop:enable Metrics/AbcSize
974
- # rubocop:enable Metrics/CyclomaticComplexity
975
- # rubocop:enable Metrics/MethodLength
976
- # rubocop:enable Metrics/PerceivedComplexity
977
956
 
978
957
  ##
979
958
  # Transmits a request for a protected resource.
@@ -12,14 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- module Signet #:nodoc:
15
+ module Signet # :nodoc:
16
16
  module OAuth1
17
17
  class Credential
18
- # rubocop:disable Metrics/AbcSize
19
- # rubocop:disable Metrics/CyclomaticComplexity
20
- # rubocop:disable Metrics/MethodLength
21
- # rubocop:disable Metrics/PerceivedComplexity
22
-
23
18
  ##
24
19
  # Creates a token object from a key and secret.
25
20
  #
@@ -95,12 +90,9 @@ module Signet #:nodoc:
95
90
  raise TypeError, "Expected String, got #{@secret.class}." unless @secret.respond_to? :to_str
96
91
  @secret = @secret.to_str
97
92
  end
98
- # rubocop:enable Metrics/AbcSize
99
- # rubocop:enable Metrics/CyclomaticComplexity
100
- # rubocop:enable Metrics/MethodLength
101
- # rubocop:enable Metrics/PerceivedComplexity
102
93
 
103
- attr_accessor :key, :secret
94
+ attr_accessor :key
95
+ attr_accessor :secret
104
96
 
105
97
  def to_hash
106
98
  {
@@ -55,15 +55,13 @@ module Signet
55
55
  instance_variable_set "@#{attr}", options[attr]
56
56
  end
57
57
  end
58
- # rubocop:disable Naming/UncommunicativeMethodParamName
59
58
 
60
59
  # Constant time string comparison.
61
- def safe_equals? a, b
62
- check = a.bytesize ^ b.bytesize
63
- a.bytes.zip(b.bytes) { |x, y| check |= x ^ y.to_i }
60
+ def safe_equals? left, right
61
+ check = left.bytesize ^ right.bytesize
62
+ left.bytes.zip(right.bytes) { |x, y| check |= x ^ y.to_i }
64
63
  check.zero?
65
64
  end
66
- # rubocop:enable Naming/UncommunicativeMethodParamName
67
65
 
68
66
  ##
69
67
  # Determine if the supplied nonce/timestamp pair is valid by calling
@@ -141,8 +139,6 @@ module Signet
141
139
  verified = @verifier.call verifier if @verifier.respond_to? :call
142
140
  verified ? true : false
143
141
  end
144
- # rubocop:disable Metrics/MethodLength
145
- # rubocop:disable Metrics/PerceivedComplexity
146
142
 
147
143
  ##
148
144
  # Validate and normalize the components from an HTTP request.
@@ -156,12 +152,12 @@ module Signet
156
152
  # @return [Hash] normalized request components
157
153
  def verify_request_components options = {}
158
154
  if options[:request]
159
- if options[:request].is_a?(Faraday::Request) || options[:request].is_a?(Array)
155
+ if options[:request].is_a? Faraday::Request
160
156
  request = options[:request]
161
157
  elsif options[:adapter]
162
158
  request = options[:adapter].adapt_request options[:request]
163
159
  end
164
- method = request.method
160
+ method = request.http_method
165
161
  uri = request.path
166
162
  headers = request.headers
167
163
  body = request.body
@@ -188,8 +184,6 @@ module Signet
188
184
  request_components[:body] = body
189
185
  request_components
190
186
  end
191
- # rubocop:enable Metrics/MethodLength
192
- # rubocop:enable Metrics/PerceivedComplexity
193
187
 
194
188
  ##
195
189
  # Validate and normalize the HTTP Authorization header.
@@ -199,11 +193,7 @@ module Signet
199
193
  def verify_auth_header_components headers
200
194
  auth_header = headers.find { |x| x[0] == "Authorization" }
201
195
  raise MalformedAuthorizationError, "Authorization header is missing" if auth_header.nil? || auth_header[1] == ""
202
- auth_hash = ::Signet::OAuth1.parse_authorization_header(
203
- auth_header[1]
204
- ).each_with_object({}) { |(key, val), acc| acc[key.downcase] = val; }
205
-
206
- auth_hash
196
+ ::Signet::OAuth1.parse_authorization_header(auth_header[1]).to_h.transform_keys(&:downcase)
207
197
  end
208
198
 
209
199
  ##
@@ -232,14 +222,9 @@ module Signet
232
222
 
233
223
  auth_header = request_components[:headers].find { |x| x[0] == "Authorization" }
234
224
  raise MalformedAuthorizationError, "Authorization header is missing" if auth_header.nil? || auth_header[1] == ""
235
- auth_hash = ::Signet::OAuth1.parse_authorization_header(
236
- auth_header[1]
237
- ).each_with_object({}) { |(key, val), acc| acc[key.downcase] = val; }
225
+ auth_hash = ::Signet::OAuth1.parse_authorization_header(auth_header[1]).to_h.transform_keys(&:downcase)
238
226
  auth_hash["realm"]
239
227
  end
240
- # rubocop:disable Metrics/AbcSize
241
- # rubocop:disable Metrics/MethodLength
242
- # rubocop:disable Metrics/PerceivedComplexity
243
228
 
244
229
  ##
245
230
  # Authenticates a temporary credential request. If no oauth_callback is
@@ -308,7 +293,6 @@ module Signet
308
293
  false
309
294
  end
310
295
  end
311
- # rubocop:enable Metrics/PerceivedComplexity
312
296
 
313
297
  ##
314
298
  # Authenticates a token credential request.
@@ -379,8 +363,6 @@ module Signet
379
363
  temporary_credential: temporary_credential,
380
364
  realm: auth_hash["realm"] }
381
365
  end
382
- # rubocop:disable Metrics/CyclomaticComplexity
383
- # rubocop:disable Metrics/PerceivedComplexity
384
366
 
385
367
  ##
386
368
  # Authenticates a request for a protected resource.
@@ -496,10 +478,6 @@ module Signet
496
478
  token_credential: token_credential,
497
479
  realm: auth_hash["realm"] }
498
480
  end
499
- # rubocop:enable Metrics/AbcSize
500
- # rubocop:enable Metrics/CyclomaticComplexity
501
- # rubocop:enable Metrics/MethodLength
502
- # rubocop:enable Metrics/PerceivedComplexity
503
481
  end
504
482
  end
505
483
  end
@@ -1,7 +1,7 @@
1
1
  require "openssl"
2
2
  require "signet"
3
3
 
4
- module Signet #:nodoc:
4
+ module Signet # :nodoc:
5
5
  module OAuth1
6
6
  module HMACSHA1
7
7
  def self.generate_signature \