googleauth 1.16.0 → 1.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: 4cadf68940056f975d386c6cb0cc55b4e1dcebb72a0313a5a5b58347994fa9dd
4
- data.tar.gz: cad38a2d2014e88abda0e63092786302294c2e963a4e4fca56a681ec7f84f08b
3
+ metadata.gz: 311cfe855cb7bcac5a60c62eb701be4bfeb2faf7b0c98109afce80ce349ae570
4
+ data.tar.gz: 452413ded2279ce73c4e7ed4cd17393f3fa2915d8a7a05515cc7ac3145f930b3
5
5
  SHA512:
6
- metadata.gz: 195efa15c10d767d5ab032291d1c341e760e9bbf326f025f705595e09e6f122f18d582a185ca6c1604a710b8facc11b37cb02e04664b4ba2488b8a85e2318f47
7
- data.tar.gz: ce881af766994bd312208a9531da24a92efa6f3311abae02cda4f7c1b1d303f54d765b571574745d0cc61cd35e8cc9ceccfdc39a8d9d5368dad6e18f6dbcbd3d
6
+ metadata.gz: ea7f50f6938a83785e7fc90613c7b1b51a7b394f28924b4b6f44975b20b9f127dc785a718bf8129c0e5e7fbc19b3765c7d0e25234c5724fb298cdc2c0e70c649
7
+ data.tar.gz: a3d7a37736db58aca6284d0487772cb08a4b16768a57ceb33296c3cb566073fac8a40f97e502eb916fbd0336ad6e3ff5a20a3888003c84ced05a89250ff22cdd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Release History
2
2
 
3
+ ### 1.16.1 (2026-01-15)
4
+
5
+ #### Bug Fixes
6
+
7
+ * restore support for JSON keys missing 'type' field ([#558](https://github.com/googleapis/google-auth-library-ruby/issues/558))
8
+
3
9
  ### 1.16.0 (2025-11-21)
4
10
 
5
11
  #### Features
@@ -62,6 +62,13 @@ module Google
62
62
  json_key_io, scope = options.values_at :json_key_io, :scope
63
63
 
64
64
  raise InitializationError, "A json file is required for external account credentials." unless json_key_io
65
+ json_key = MultiJson.load json_key_io.read, symbolize_keys: true
66
+ if json_key.key? :type
67
+ json_key_io.rewind
68
+ else # Defaults to class credential 'type' if missing.
69
+ json_key[:type] = CREDENTIAL_TYPE_NAME
70
+ json_key_io = StringIO.new MultiJson.dump(json_key)
71
+ end
65
72
  CredentialsLoader.load_and_verify_json_key_type json_key_io, CREDENTIAL_TYPE_NAME
66
73
  user_creds = read_json_key json_key_io
67
74
 
@@ -58,7 +58,7 @@ module Google
58
58
  # @param json_key_io [IO] An IO object containing the JSON key
59
59
  # @param scope [string|array|nil] the scope(s) to access
60
60
  # @raise [ArgumentError] If both scope and target_audience are specified
61
- def self.make_creds options = {}
61
+ def self.make_creds options = {} # rubocop:disable Metrics/MethodLength
62
62
  json_key_io, scope, enable_self_signed_jwt, target_audience, audience, token_credential_uri =
63
63
  options.values_at :json_key_io, :scope, :enable_self_signed_jwt, :target_audience,
64
64
  :audience, :token_credential_uri
@@ -66,6 +66,13 @@ module Google
66
66
 
67
67
  private_key, client_email, project_id, quota_project_id, universe_domain =
68
68
  if json_key_io
69
+ json_key = MultiJson.load json_key_io.read
70
+ if json_key.key? "type"
71
+ json_key_io.rewind
72
+ else # Defaults to class credential 'type' if missing.
73
+ json_key["type"] = CREDENTIAL_TYPE_NAME
74
+ json_key_io = StringIO.new MultiJson.dump(json_key)
75
+ end
69
76
  CredentialsLoader.load_and_verify_json_key_type json_key_io, CREDENTIAL_TYPE_NAME
70
77
  read_json_key json_key_io
71
78
  else
@@ -47,9 +47,16 @@ module Google
47
47
  #
48
48
  # @param json_key_io [IO] An IO object containing the JSON key
49
49
  # @param scope [string|array|nil] the scope(s) to access
50
- def self.make_creds options = {}
50
+ def self.make_creds options = {} # rubocop:disable Metrics/MethodLength
51
51
  json_key_io, scope = options.values_at :json_key_io, :scope
52
52
  user_creds = if json_key_io
53
+ json_key = MultiJson.load json_key_io.read
54
+ if json_key.key? "type"
55
+ json_key_io.rewind
56
+ else # Defaults to class credential 'type' if missing.
57
+ json_key["type"] = CREDENTIAL_TYPE_NAME
58
+ json_key_io = StringIO.new MultiJson.dump(json_key)
59
+ end
53
60
  CredentialsLoader.load_and_verify_json_key_type json_key_io, CREDENTIAL_TYPE_NAME
54
61
  read_json_key json_key_io
55
62
  else
@@ -16,6 +16,6 @@ module Google
16
16
  # Module Auth provides classes that provide Google-specific authorization
17
17
  # used to access Google APIs.
18
18
  module Auth
19
- VERSION = "1.16.0".freeze
19
+ VERSION = "1.16.1".freeze
20
20
  end
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googleauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC