googleauth 0.10.0 → 0.11.0

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: db5eb8767a7eae3ca209e8a6eeebc6e8e3b0b8724ce456734fbb4f10fc62319a
4
- data.tar.gz: 36501fbb7a1963cde692f1122d40fcbc02d6f98d517736ffd11745c42649dcef
3
+ metadata.gz: '084256f40daf70be42b7489597bbdde5fa0809a0b33690f60307fafa4928d83f'
4
+ data.tar.gz: ecf351e58a7ff196ed6e75e9a9bdca3eef918828feb9e65dd5e51869c6c6a235
5
5
  SHA512:
6
- metadata.gz: fd87ff90b92d1906310f9bebeffa84a692b11bd54c114d597e19c02968955922c0202b87cf6fb6b6e172804234ffb5f4b642ac1415b562013cbd789b942025a0
7
- data.tar.gz: 444ce4532265ff0b8ecdd384653384579c0d99730fa0c415c957c8a956d603fdc1667e2dd2c112efa062b7c11c55285d783a85894e84c440c74f5c6923140c10
6
+ metadata.gz: eb987a66865f02231cd66e8b96bbc8a26c97bb516a0a4324c19b86e9c5a77b84f1af208aa96b2a9f9b3656b0d9b742b0f27b6dcc26060cb9acfd5b03d96beccb
7
+ data.tar.gz: b59184d1118bc14fdf5499eb2a19e5ecd9ba4e90c9d1f6ba648e18a648f4162c2a6ef0fe2d65683ecf1b0dfd42500a9fdfbba0d61208538d4c3c4bd85b482f9e
@@ -3,10 +3,10 @@
3
3
  build_file: "google-auth-library-ruby/.kokoro/trampoline.sh"
4
4
 
5
5
  # Configure the docker image for kokoro-trampoline.
6
- # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/ruby-multi
6
+ # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/multi
7
7
  env_vars: {
8
8
  key: "TRAMPOLINE_IMAGE"
9
- value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/ruby-multi"
9
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
10
10
  }
11
11
 
12
12
  env_vars: {
@@ -0,0 +1,30 @@
1
+ # Format: //devtools/kokoro/config/proto/build.proto
2
+
3
+ build_file: "google-auth-library-ruby/.kokoro/trampoline.sh"
4
+
5
+ # Configure the docker image for kokoro-trampoline.
6
+ # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/multi-node
7
+ env_vars: {
8
+ key: "TRAMPOLINE_IMAGE"
9
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi-node"
10
+ }
11
+
12
+ env_vars: {
13
+ key: "TRAMPOLINE_BUILD_FILE"
14
+ value: "github/google-auth-library-ruby/.kokoro/build.sh"
15
+ }
16
+
17
+ env_vars: {
18
+ key: "TRAMPOLINE_SCRIPT"
19
+ value: "trampoline_v1.py"
20
+ }
21
+
22
+ env_vars: {
23
+ key: "OS"
24
+ value: "linux"
25
+ }
26
+
27
+ env_vars: {
28
+ key: "JOB_TYPE"
29
+ value: "post"
30
+ }
@@ -5,7 +5,7 @@ build_file: "google-auth-library-ruby/.kokoro/trampoline.sh"
5
5
  # Configure the docker image for kokoro-trampoline.
6
6
  env_vars: {
7
7
  key: "TRAMPOLINE_IMAGE"
8
- value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/ruby-multi"
8
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
9
9
  }
10
10
 
11
11
  env_vars: {
@@ -60,7 +60,7 @@ build_file: "google-auth-library-ruby/.kokoro/trampoline.sh"
60
60
  # Configure the docker image for kokoro-trampoline.
61
61
  env_vars: {
62
62
  key: "TRAMPOLINE_IMAGE"
63
- value: "gcr.io/cloud-devrel-kokoro-resources/google-cloud-ruby/ruby-release"
63
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/release"
64
64
  }
65
65
 
66
66
  env_vars: {
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "googleauth",
3
+ "language": "ruby",
4
+ "distribution-name": "googleauth"
5
+ }
@@ -5,10 +5,9 @@ AllCops:
5
5
  Exclude:
6
6
  - "spec/**/*"
7
7
  - "Rakefile"
8
+ - "rakelib/**/*"
8
9
  Metrics/ClassLength:
9
- Max: 110
10
- Exclude:
11
- - "lib/googleauth/credentials.rb"
10
+ Max: 200
12
11
  Metrics/ModuleLength:
13
12
  Max: 110
14
13
  Metrics/BlockLength:
@@ -1,3 +1,8 @@
1
+ ### 0.11.0 / 2020-02-24
2
+
3
+ * Support Faraday 1.x.
4
+ * Allow special "postmessage" value for redirect_uri.
5
+
1
6
  ### 0.10.0 / 2019-10-09
2
7
 
3
8
  Note: This release now requires Ruby 2.4 or later
data/README.md CHANGED
@@ -178,7 +178,7 @@ access and refresh tokens. Two storage implementations are included:
178
178
  * Google::Auth::Stores::RedisTokenStore
179
179
 
180
180
  Custom storage implementations can also be used. See
181
- [token_store.rb](lib/googleauth/token_store.rb) for additional details.
181
+ [token_store.rb](https://googleapis.dev/ruby/googleauth/latest/Google/Auth/TokenStore.html) for additional details.
182
182
 
183
183
  ## Supported Ruby Versions
184
184
 
@@ -206,7 +206,6 @@ hesitate to
206
206
  [ask questions](http://stackoverflow.com/questions/tagged/google-auth-library-ruby)
207
207
  about the client or APIs on [StackOverflow](http://stackoverflow.com).
208
208
 
209
- [google-apis-ruby-client]: (https://github.com/google/google-api-ruby-client)
210
- [application default credentials]: (https://developers.google.com/accounts/docs/application-default-credentials)
211
- [contributing]: https://github.com/google/google-auth-library-ruby/tree/master/CONTRIBUTING.md
212
- [copying]: https://github.com/google/google-auth-library-ruby/tree/master/COPYING
209
+ [application default credentials]: https://developers.google.com/accounts/docs/application-default-credentials
210
+ [contributing]: https://github.com/googleapis/google-auth-library-ruby/tree/master/.github/CONTRIBUTING.md
211
+ [copying]: https://github.com/googleapis/google-auth-library-ruby/tree/master/COPYING
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ task :release_gem, :tag do |_t, args|
13
13
  raise "You must provide a tag to release." if tag.nil?
14
14
 
15
15
  # Verify the tag format "vVERSION"
16
- m = tag.match(/google-auth-library-ruby\/v(?<version>\S*)/)
16
+ m = tag.match /v(?<version>\S*)/
17
17
  raise "Tag #{tag} does not match the expected format." if m.nil?
18
18
 
19
19
  version = m[:version]
@@ -35,16 +35,23 @@ task :release_gem, :tag do |_t, args|
35
35
  end
36
36
 
37
37
  path_to_be_pushed = "pkg/googleauth-#{version}.gem"
38
+ gem_was_published = nil
38
39
  if File.file? path_to_be_pushed
39
40
  begin
40
- ::Gems.push File.new(path_to_be_pushed)
41
+ response = ::Gems.push File.new(path_to_be_pushed)
42
+ puts response
43
+ raise unless response.include? "Successfully registered gem:"
44
+ gem_was_published = true
41
45
  puts "Successfully built and pushed googleauth for version #{version}"
42
46
  rescue StandardError => e
47
+ gem_was_published = false
43
48
  puts "Error while releasing googleauth version #{version}: #{e.message}"
44
49
  end
45
50
  else
46
51
  raise "Cannot build googleauth for version #{version}"
47
52
  end
53
+
54
+ Rake::Task["kokoro:publish_docs"].invoke if gem_was_published
48
55
  end
49
56
 
50
57
  namespace :kokoro do
@@ -64,6 +71,14 @@ namespace :kokoro do
64
71
  Rake::Task["ci"].invoke
65
72
  end
66
73
 
74
+ task :post do
75
+ require_relative "rakelib/link_checker.rb"
76
+
77
+ link_checker = LinkChecker.new
78
+ link_checker.run
79
+ exit link_checker.exit_status
80
+ end
81
+
67
82
  task :nightly do
68
83
  Rake::Task["ci"].invoke
69
84
  end
@@ -76,7 +91,13 @@ namespace :kokoro do
76
91
  .first.split("(").last.split(")").first || "0.1.0"
77
92
  end
78
93
  Rake::Task["kokoro:load_env_vars"].invoke
79
- Rake::Task["release_gem"].invoke "google-auth-library-ruby/v#{version}"
94
+ Rake::Task["release_gem"].invoke "v#{version}"
95
+ end
96
+
97
+ task :publish_docs do
98
+ require_relative "rakelib/devsite_builder.rb"
99
+
100
+ DevsiteBuilder.new(__dir__).publish
80
101
  end
81
102
  end
82
103
 
@@ -27,10 +27,11 @@ Gem::Specification.new do |gem|
27
27
  gem.platform = Gem::Platform::RUBY
28
28
  gem.required_ruby_version = ">= 2.4.0"
29
29
 
30
- gem.add_dependency "faraday", "~> 0.12"
30
+ gem.add_dependency "faraday", ">= 0.17.3", "< 2.0"
31
31
  gem.add_dependency "jwt", ">= 1.4", "< 3.0"
32
32
  gem.add_dependency "memoist", "~> 0.16"
33
33
  gem.add_dependency "multi_json", "~> 1.11"
34
34
  gem.add_dependency "os", ">= 0.9", "< 2.0"
35
35
  gem.add_dependency "signet", "~> 0.12"
36
+ gem.add_development_dependency "yard", "~> 0.9"
36
37
  end
@@ -47,7 +47,7 @@ module Google
47
47
  #
48
48
  # Use this to obtain the Application Default Credentials for accessing
49
49
  # Google APIs. Application Default Credentials are described in detail
50
- # at http://goo.gl/IUuyuX.
50
+ # at https://cloud.google.com/docs/authentication/production.
51
51
  #
52
52
  # If supplied, scope is used to create the credentials instance, when it can
53
53
  # be applied. E.g, on google compute engine and for user credentials the
@@ -45,7 +45,7 @@ module Google
45
45
  # from credentials from a json key file downloaded from the developer
46
46
  # console (via 'Generate new Json Key').
47
47
  #
48
- # cf [Application Default Credentials](http://goo.gl/mkAHpZ)
48
+ # cf [Application Default Credentials](https://cloud.google.com/docs/authentication/production)
49
49
  class ServiceAccountCredentials < Signet::OAuth2::Client
50
50
  TOKEN_CRED_URI = "https://www.googleapis.com/oauth2/v4/token".freeze
51
51
  extend CredentialsLoader
@@ -123,7 +123,7 @@ module Google
123
123
  # console (via 'Generate new Json Key'). It is not part of any OAuth2
124
124
  # flow, rather it creates a JWT and sends that as a credential.
125
125
  #
126
- # cf [Application Default Credentials](http://goo.gl/mkAHpZ)
126
+ # cf [Application Default Credentials](https://cloud.google.com/docs/authentication/production)
127
127
  class ServiceAccountJwtHeaderCredentials
128
128
  JWT_AUD_URI_KEY = :jwt_aud_uri
129
129
  AUTH_METADATA_KEY = Signet::OAuth2::AUTH_METADATA_KEY
@@ -271,10 +271,15 @@ module Google
271
271
  # @return [String]
272
272
  # Redirect URI
273
273
  def redirect_uri_for base_url
274
- return @callback_uri unless URI(@callback_uri).scheme.nil?
274
+ return @callback_uri if uri_is_postmessage?(@callback_uri) || !URI(@callback_uri).scheme.nil?
275
275
  raise format(MISSING_ABSOLUTE_URL_ERROR, @callback_uri) if base_url.nil? || URI(base_url).scheme.nil?
276
276
  URI.join(base_url, @callback_uri).to_s
277
277
  end
278
+
279
+ # Check if URI is Google's postmessage flow (not a valid redirect_uri by spec, but allowed)
280
+ def uri_is_postmessage? uri
281
+ uri.to_s.casecmp("postmessage").zero?
282
+ end
278
283
  end
279
284
  end
280
285
  end
@@ -44,7 +44,7 @@ module Google
44
44
  # 'gcloud auth login' saves a file with these contents in well known
45
45
  # location
46
46
  #
47
- # cf [Application Default Credentials](http://goo.gl/mkAHpZ)
47
+ # cf [Application Default Credentials](https://cloud.google.com/docs/authentication/production)
48
48
  class UserRefreshCredentials < Signet::OAuth2::Client
49
49
  TOKEN_CRED_URI = "https://oauth2.googleapis.com/token".freeze
50
50
  AUTHORIZATION_URI = "https://accounts.google.com/o/oauth2/auth".freeze
@@ -31,6 +31,6 @@ module Google
31
31
  # Module Auth provides classes that provide Google-specific authorization
32
32
  # used to access Google APIs.
33
33
  module Auth
34
- VERSION = "0.10.0".freeze
34
+ VERSION = "0.11.0".freeze
35
35
  end
36
36
  end
@@ -0,0 +1,45 @@
1
+ require "pathname"
2
+
3
+ require_relative "repo_metadata.rb"
4
+
5
+ class DevsiteBuilder
6
+ def initialize master_dir = "."
7
+ @master_dir = Pathname.new master_dir
8
+ @output_dir = "doc"
9
+ @metadata = RepoMetadata.from_source "#{master_dir}/.repo-metadata.json"
10
+ end
11
+
12
+ def build
13
+ FileUtils.remove_dir @output_dir if Dir.exist? @output_dir
14
+ markup = "--markup markdown"
15
+
16
+ Dir.chdir @master_dir do
17
+ cmds = ["-o #{@output_dir}", markup]
18
+ cmd "yard --verbose #{cmds.join ' '}"
19
+ end
20
+ @metadata.build @master_dir + @output_dir
21
+ end
22
+
23
+ def upload
24
+ Dir.chdir @output_dir do
25
+ opts = [
26
+ "--credentials=#{ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account",
27
+ "--staging-bucket=#{ENV.fetch 'STAGING_BUCKET', 'docs-staging'}",
28
+ "--metadata-file=./docs.metadata"
29
+ ]
30
+ cmd "python3 -m docuploader upload . #{opts.join ' '}"
31
+ end
32
+ end
33
+
34
+ def publish
35
+ build
36
+ upload
37
+ end
38
+
39
+ def cmd line
40
+ puts line
41
+ output = `#{line}`
42
+ puts output
43
+ output
44
+ end
45
+ end
@@ -0,0 +1,64 @@
1
+ require "open3"
2
+
3
+ class LinkChecker
4
+ def initialize
5
+ @failed = false
6
+ end
7
+
8
+ def run
9
+ job_info
10
+ git_commit = ENV.fetch "KOKORO_GITHUB_COMMIT", "master"
11
+
12
+ markdown_files = Dir.glob "**/*.md"
13
+ broken_markdown_links = check_links markdown_files,
14
+ "https://github.com/googleapis/google-auth-library-ruby/tree/#{git_commit}",
15
+ " --skip '^(?!(\\Wruby.*google|.*google.*\\Wruby|.*cloud\\.google\\.com))'"
16
+
17
+ broken_devsite_links = check_links ["googleauth"],
18
+ "https://googleapis.dev/ruby",
19
+ "/latest/ --recurse --skip https:.*github.*"
20
+
21
+ puts_broken_links broken_markdown_links
22
+ puts_broken_links broken_devsite_links
23
+ end
24
+
25
+ def check_links location_list, base, tail
26
+ broken_links = Hash.new { |h, k| h[k] = [] }
27
+ location_list.each do |location|
28
+ out, err, st = Open3.capture3 "npx linkinator #{base}/#{location}#{tail}"
29
+ puts out
30
+ unless st.to_i.zero?
31
+ @failed = true
32
+ puts err
33
+ end
34
+ checked_links = out.split "\n"
35
+ checked_links.select! { |link| link =~ /\[\d+\]/ && !link.include?("[200]") }
36
+ unless checked_links.empty?
37
+ @failed = true
38
+ broken_links[location] += checked_links
39
+ end
40
+ end
41
+ broken_links
42
+ end
43
+
44
+ def puts_broken_links link_hash
45
+ link_hash.each do |location, links|
46
+ puts "#{location} contains the following broken links:"
47
+ links.each { |link| puts " #{link}" }
48
+ puts ""
49
+ end
50
+ end
51
+
52
+ def job_info
53
+ line_length = "Using Ruby - #{RUBY_VERSION}".length + 8
54
+ puts ""
55
+ puts "#" * line_length
56
+ puts "### Using Ruby - #{RUBY_VERSION} ###"
57
+ puts "#" * line_length
58
+ puts ""
59
+ end
60
+
61
+ def exit_status
62
+ @failed ? 1 : 0
63
+ end
64
+ end
@@ -0,0 +1,59 @@
1
+ require "json"
2
+
3
+ class RepoMetadata
4
+ attr_reader :data
5
+
6
+ def initialize data
7
+ @data = data
8
+ normalize_data!
9
+ end
10
+
11
+ def allowed_fields
12
+ [
13
+ "name", "version", "language", "distribution-name",
14
+ "product-page", "github-repository", "issue-tracker"
15
+ ]
16
+ end
17
+
18
+ def build output_directory
19
+ fields = @data.to_a.map { |kv| "--#{kv[0]} #{kv[1]}" }
20
+ Dir.chdir output_directory do
21
+ cmd "python3 -m docuploader create-metadata #{fields.join ' '}"
22
+ end
23
+ end
24
+
25
+ def normalize_data!
26
+ require_relative "../lib/googleauth/version.rb"
27
+
28
+ @data.delete_if { |k, _| !allowed_fields.include?(k) }
29
+ @data["version"] = "v#{Google::Auth::VERSION}"
30
+ end
31
+
32
+ def [] key
33
+ data[key]
34
+ end
35
+
36
+ def []= key, value
37
+ @data[key] = value
38
+ end
39
+
40
+ def cmd line
41
+ puts line
42
+ output = `#{line}`
43
+ puts output
44
+ output
45
+ end
46
+
47
+ def self.from_source source
48
+ if source.is_a? RepoMetadata
49
+ data = source.data
50
+ elsif source.is_a? Hash
51
+ data = source
52
+ elsif File.file? source
53
+ data = JSON.parse File.read(source)
54
+ else
55
+ raise "Source must be a path, hash, or RepoMetadata instance"
56
+ end
57
+ RepoMetadata.new data
58
+ end
59
+ end
@@ -80,7 +80,7 @@ describe Google::Auth::UserAuthorizer do
80
80
  expect(URI(uri).query).to_not match(/client_secret/)
81
81
  end
82
82
 
83
- it "should include the callback uri" do
83
+ it "should include the redirect_uri" do
84
84
  expect(URI(uri).query).to match(
85
85
  %r{redirect_uri=https://www.example.com/oauth/callback}
86
86
  )
@@ -91,6 +91,25 @@ describe Google::Auth::UserAuthorizer do
91
91
  end
92
92
  end
93
93
 
94
+ context "when generating authorization URLs and callback_uri is 'postmessage'" do
95
+ let(:callback_uri) { "postmessage" }
96
+ let :authorizer do
97
+ Google::Auth::UserAuthorizer.new(client_id,
98
+ scope,
99
+ token_store,
100
+ callback_uri)
101
+ end
102
+ let :uri do
103
+ authorizer.get_authorization_url login_hint: "user1", state: "mystate"
104
+ end
105
+
106
+ it "should include the redirect_uri 'postmessage'" do
107
+ expect(URI(uri).query).to match(
108
+ %r{redirect_uri=postmessage}
109
+ )
110
+ end
111
+ end
112
+
94
113
  context "when generating authorization URLs with user ID & state" do
95
114
  let :uri do
96
115
  authorizer.get_authorization_url login_hint: "user1", state: "mystate"
@@ -253,6 +272,7 @@ describe Google::Auth::UserAuthorizer do
253
272
  user_id: "user1", code: "code"
254
273
  )
255
274
  expect(credentials.access_token).to eq "1/abc123"
275
+ expect(credentials.redirect_uri.to_s).to eq "https://www.example.com/oauth/callback"
256
276
  end
257
277
 
258
278
  it "should not store credentials when get only requested" do
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googleauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Emiola
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-09 00:00:00.000000000 Z
11
+ date: 2020-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.12'
19
+ version: 0.17.3
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '0.12'
29
+ version: 0.17.3
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: jwt
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -106,6 +112,20 @@ dependencies:
106
112
  - - "~>"
107
113
  - !ruby/object:Gem::Version
108
114
  version: '0.12'
115
+ - !ruby/object:Gem::Dependency
116
+ name: yard
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '0.9'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '0.9'
109
129
  description: |2
110
130
  Allows simple authorization for accessing Google APIs.
111
131
  Provide support for Application Default Credentials, as described at
@@ -125,6 +145,7 @@ files:
125
145
  - ".kokoro/continuous/common.cfg"
126
146
  - ".kokoro/continuous/linux.cfg"
127
147
  - ".kokoro/continuous/osx.cfg"
148
+ - ".kokoro/continuous/post.cfg"
128
149
  - ".kokoro/continuous/windows.cfg"
129
150
  - ".kokoro/osx.sh"
130
151
  - ".kokoro/presubmit/common.cfg"
@@ -134,6 +155,7 @@ files:
134
155
  - ".kokoro/release.cfg"
135
156
  - ".kokoro/trampoline.bat"
136
157
  - ".kokoro/trampoline.sh"
158
+ - ".repo-metadata.json"
137
159
  - ".rspec"
138
160
  - ".rubocop.yml"
139
161
  - CHANGELOG.md
@@ -162,6 +184,9 @@ files:
162
184
  - lib/googleauth/user_refresh.rb
163
185
  - lib/googleauth/version.rb
164
186
  - lib/googleauth/web_user_authorizer.rb
187
+ - rakelib/devsite_builder.rb
188
+ - rakelib/link_checker.rb
189
+ - rakelib/repo_metadata.rb
165
190
  - spec/googleauth/apply_auth_examples.rb
166
191
  - spec/googleauth/client_id_spec.rb
167
192
  - spec/googleauth/compute_engine_spec.rb
@@ -197,8 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
222
  - !ruby/object:Gem::Version
198
223
  version: '0'
199
224
  requirements: []
200
- rubyforge_project:
201
- rubygems_version: 2.7.6
225
+ rubygems_version: 3.0.6
202
226
  signing_key:
203
227
  specification_version: 4
204
228
  summary: Google Auth Library for Ruby