signet 0.14.1 → 0.16.1

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.
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 \