googleauth 0.16.0 → 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
data/.toys/.toys.rb ADDED
@@ -0,0 +1,45 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ expand :clean, paths: :gitignore
16
+
17
+ expand :rspec do |t|
18
+ t.libs = ["lib", "spec"]
19
+ t.use_bundler
20
+ end
21
+
22
+ expand :minitest do |t|
23
+ t.libs = ["lib", "test"]
24
+ t.use_bundler
25
+ t.files = "test/**/*_test.rb"
26
+ end
27
+
28
+ expand :minitest do |t|
29
+ t.name = "integration"
30
+ t.libs = ["lib", "integration"]
31
+ t.use_bundler
32
+ t.files = "integration/**/*_test.rb"
33
+ end
34
+
35
+ expand :rubocop, bundler: true
36
+
37
+ expand :yardoc do |t|
38
+ t.generate_output_flag = true
39
+ # t.fail_on_warning = true
40
+ t.use_bundler
41
+ end
42
+
43
+ expand :gem_build
44
+
45
+ expand :gem_build, name: "install", install_gem: true
data/.toys/ci.rb ADDED
@@ -0,0 +1,43 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ desc "Run CI checks"
16
+
17
+ TESTS = ["test", "integration", "spec", "rubocop", "yardoc", "build", "linkinator"]
18
+
19
+ flag :only
20
+ TESTS.each do |name|
21
+ flag "include_#{name}".to_sym, "--[no-]include-#{name}"
22
+ end
23
+
24
+ include :exec, result_callback: :handle_result
25
+ include :terminal
26
+
27
+ def handle_result result
28
+ if result.success?
29
+ puts "** #{result.name} passed\n\n", :green, :bold
30
+ else
31
+ puts "** CI terminated: #{result.name} failed!", :red, :bold
32
+ exit 1
33
+ end
34
+ end
35
+
36
+ def run
37
+ ::Dir.chdir context_directory
38
+ TESTS.each do |name|
39
+ setting = get "include_#{name}".to_sym
40
+ setting = !only if setting.nil?
41
+ exec ["toys", name], name: name.capitalize if setting
42
+ end
43
+ end
@@ -0,0 +1,66 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ mixin "kokoro-tools" do
16
+ def load_env
17
+ return if defined? @loaded_env
18
+
19
+ service_account = "#{::ENV['KOKORO_GFILE_DIR']}/service-account.json"
20
+ raise "#{service_account} is not a file" unless ::File.file? service_account
21
+ ::ENV["GOOGLE_APPLICATION_CREDENTIALS"] = service_account
22
+
23
+ filename = "#{::ENV['KOKORO_GFILE_DIR']}/ruby_env_vars.json"
24
+ raise "#{filename} is not a file" unless ::File.file? filename
25
+ env_vars = ::JSON.parse ::File.read filename
26
+ env_vars.each { |k, v| ::ENV[k] = v }
27
+
28
+ ::ENV["DOCS_CREDENTIALS"] ||= "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account"
29
+ ::ENV["GITHUB_TOKEN"] ||= "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_yoshi-automation-github-key"
30
+
31
+ @loaded_env = true
32
+ end
33
+
34
+ def package_name
35
+ @package_name ||=
36
+ ::ENV["RELEASE_PACKAGE"] || ::ENV["PACKAGE"] || begin
37
+ files = ::Dir.glob("*.gemspec")
38
+ raise "Unable to determine package" unless files.length == 1
39
+ ::File.basename files.first, ".gemspec"
40
+ end
41
+ end
42
+
43
+ def package_directory
44
+ @package_directory ||= begin
45
+ if ::File.file? "#{package_name}.gemspec"
46
+ ::File.expand_path "."
47
+ elsif ::File.file? "#{package_name}/#{package_name}.gemspec"
48
+ ::File.expand_path package_name
49
+ else
50
+ raise "Unable to determine package directory"
51
+ end
52
+ end
53
+ end
54
+
55
+ def package_gemspec_path
56
+ @package_gemspec_path ||= ::File.join package_directory, "#{package_name}.gemspec"
57
+ end
58
+
59
+ def package_gemspec
60
+ @package_gemspec ||= eval ::File.read package_gemspec_path
61
+ end
62
+
63
+ def package_version
64
+ @package_version ||= package_gemspec.version
65
+ end
66
+ end
@@ -0,0 +1,67 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "json"
16
+
17
+ include "kokoro-tools"
18
+ include :exec, e: true
19
+ include :fileutils
20
+
21
+ flag :credentials, "--credentials=PATH"
22
+ flag :bucket, "--bucket=NAME"
23
+ flag :dry_run, default: ["true", "docs"].include?(::ENV["RELEASE_DRY_RUN"].to_s)
24
+
25
+ def run
26
+ ::Dir.chdir package_directory
27
+ load_env
28
+ build_docs
29
+ write_metadata
30
+ if dry_run
31
+ puts "DRY RUN: Skipping doc uploading for #{package_name}"
32
+ else
33
+ upload_docs
34
+ end
35
+ end
36
+
37
+ def build_docs
38
+ rm_rf "doc"
39
+ exec ["toys", "yardoc"]
40
+ end
41
+
42
+ def write_metadata
43
+ allowed_fields = [
44
+ "name", "version", "language", "distribution-name",
45
+ "product-page", "github-repository", "issue-tracker"
46
+ ]
47
+ metadata = ::JSON.parse ::File.read ".repo-metadata.json"
48
+ metadata.transform_keys! { |k| k.tr "_", "-" }
49
+ metadata.keep_if { |k, _v| allowed_fields.include? k }
50
+ metadata["version"] = package_version
51
+ metadata["name"] = metadata["distribution-name"]
52
+ args = metadata.transform_keys { |k| "--#{k}" }.to_a.flatten
53
+ cmd = ["python3", "-m", "docuploader", "create-metadata"] + args
54
+ exec cmd, chdir: "doc"
55
+ end
56
+
57
+ def upload_docs
58
+ creds = credentials || "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account"
59
+ buck = bucket || ::ENV["STAGING_BUCKET"] || "docs-staging"
60
+ cmd = [
61
+ "python3", "-m", "docuploader", "upload", ".",
62
+ "--credentials=#{creds}",
63
+ "--staging-bucket=#{buck}",
64
+ "--metadata-file=./docs.metadata"
65
+ ]
66
+ exec cmd, chdir: "doc"
67
+ end
@@ -0,0 +1,53 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ include "kokoro-tools"
16
+ include :exec, e: true
17
+ include :fileutils
18
+ include :gems
19
+
20
+ flag :rubygems_token, "--rubygems-token=TOKEN"
21
+ flag :dry_run, default: ["true", "gem"].include?(::ENV["RELEASE_DRY_RUN"].to_s)
22
+
23
+ def run
24
+ gem "gems", "~> 1.2"
25
+ require "gems"
26
+ ::Dir.chdir package_directory
27
+ load_env
28
+ configure_gems
29
+ gem_path = build_gem
30
+ if dry_run
31
+ puts "DRY RUN: Skipping Rubygems push of #{gem_path}"
32
+ else
33
+ push_gem gem_path
34
+ end
35
+ end
36
+
37
+ def configure_gems
38
+ token = rubygems_token || ::ENV["RUBYGEMS_API_TOKEN"]
39
+ ::Gems.configure { |config| config.key = token } if token
40
+ end
41
+
42
+ def build_gem
43
+ gem_path = "pkg/#{package_name}-#{package_version}.gem"
44
+ rm_rf gem_path
45
+ exec ["toys", "build"]
46
+ gem_path
47
+ end
48
+
49
+ def push_gem gem_path
50
+ response = ::Gems.push ::File.new gem_path
51
+ puts response
52
+ raise "Gem push didn't report success" unless response.include? "Successfully registered gem:"
53
+ end
@@ -0,0 +1,43 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ desc "Run Link checks"
16
+
17
+ flag :install, desc: "Install linkinator instead of running checks"
18
+
19
+ include :exec, e: true
20
+ include :terminal
21
+
22
+ def run
23
+ ::Dir.chdir context_directory
24
+ if install
25
+ Kernel.exec "npm install linkinator"
26
+ else
27
+ exec_tool ["yardoc"]
28
+ check_links
29
+ end
30
+ end
31
+
32
+ def check_links
33
+ result = exec ["npx", "linkinator", "./doc"], out: :capture
34
+ puts result.captured_out
35
+ checked_links = result.captured_out.split "\n"
36
+ checked_links.select! { |link| link =~ /^\[(\d+)\]/ && ::Regexp.last_match[1] != "200" }
37
+ unless checked_links.empty?
38
+ checked_links.each do |link|
39
+ puts link, :yellow
40
+ end
41
+ exit 1
42
+ end
43
+ end
data/.trampolinerc ADDED
@@ -0,0 +1,48 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # Add required env vars here.
16
+ required_envvars+=(
17
+ )
18
+
19
+ # Add env vars which are passed down into the container here.
20
+ pass_down_envvars+=(
21
+ "AUTORELEASE_PR" "RELEASE_DRY_RUN"
22
+ )
23
+
24
+ # Prevent unintentional override on the default image.
25
+ if [[ "${TRAMPOLINE_IMAGE_UPLOAD:-false}" == "true" ]] && [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
26
+ echo "Please set TRAMPOLINE_IMAGE if you want to upload the Docker image."
27
+ exit 1
28
+ fi
29
+
30
+ # Define the default value if it makes sense.
31
+ if [[ -z "${TRAMPOLINE_IMAGE_UPLOAD:-}" ]]; then
32
+ TRAMPOLINE_IMAGE_UPLOAD=""
33
+ fi
34
+
35
+ if [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
36
+ TRAMPOLINE_IMAGE=""
37
+ fi
38
+
39
+ if [[ -z "${TRAMPOLINE_DOCKERFILE:-}" ]]; then
40
+ TRAMPOLINE_DOCKERFILE=""
41
+ fi
42
+
43
+ if [[ -z "${TRAMPOLINE_BUILD_FILE:-}" ]]; then
44
+ TRAMPOLINE_BUILD_FILE=""
45
+ fi
46
+
47
+ # Secret Manager secrets.
48
+ source ${PROJECT_ROOT}/.kokoro/populate-secrets.sh
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Release History
2
2
 
3
+ ### [0.16.1](https://www.github.com/googleapis/google-auth-library-ruby/compare/google-auth-library-ruby/v0.16.0...google-auth-library-ruby/v0.16.1) (2021-04-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Accept application/text content-type for plain idtoken response ([4948ebb](https://www.github.com/googleapis/google-auth-library-ruby/commit/4948ebb3ca151e9f0433585a41bad6f415416b2d))
9
+
3
10
  ## [0.16.0](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.15.1...v0.16.0) (2021-03-04)
4
11
 
5
12
 
data/README.md CHANGED
@@ -194,7 +194,7 @@ about the Ruby support schedule.
194
194
  ## License
195
195
 
196
196
  This library is licensed under Apache 2.0. Full license text is
197
- available in [COPYING][copying].
197
+ available in [LICENSE][license].
198
198
 
199
199
  ## Contributing
200
200
 
@@ -210,4 +210,4 @@ about the client or APIs on [StackOverflow](http://stackoverflow.com).
210
210
 
211
211
  [application default credentials]: https://developers.google.com/accounts/docs/application-default-credentials
212
212
  [contributing]: https://github.com/googleapis/google-auth-library-ruby/tree/master/.github/CONTRIBUTING.md
213
- [copying]: https://github.com/googleapis/google-auth-library-ruby/tree/master/COPYING
213
+ [license]: https://github.com/googleapis/google-auth-library-ruby/tree/master/LICENSE
@@ -112,7 +112,7 @@ module Google
112
112
  case resp.status
113
113
  when 200
114
114
  content_type = resp.headers["content-type"]
115
- if content_type == "text/html"
115
+ if ["text/html", "application/text"].include? content_type
116
116
  { (target_audience ? "id_token" : "access_token") => resp.body }
117
117
  else
118
118
  Signet::OAuth2.parse_credentials resp.body, content_type
@@ -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.16.0".freeze
34
+ VERSION = "0.16.1".freeze
35
35
  end
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googleauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Emiola
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-04 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -140,32 +140,28 @@ files:
140
140
  - ".github/ISSUE_TEMPLATE/bug_report.md"
141
141
  - ".github/ISSUE_TEMPLATE/feature_request.md"
142
142
  - ".github/ISSUE_TEMPLATE/support_request.md"
143
- - ".github/workflows/release.yml"
143
+ - ".github/workflows/ci.yml"
144
+ - ".github/workflows/release-please.yml"
144
145
  - ".gitignore"
145
- - ".kokoro/build.bat"
146
- - ".kokoro/build.sh"
147
- - ".kokoro/continuous/common.cfg"
148
- - ".kokoro/continuous/linux.cfg"
149
- - ".kokoro/continuous/osx.cfg"
150
- - ".kokoro/continuous/post.cfg"
151
- - ".kokoro/continuous/windows.cfg"
152
- - ".kokoro/osx.sh"
153
- - ".kokoro/presubmit/common.cfg"
154
- - ".kokoro/presubmit/linux.cfg"
155
- - ".kokoro/presubmit/osx.cfg"
156
- - ".kokoro/presubmit/windows.cfg"
146
+ - ".kokoro/populate-secrets.sh"
157
147
  - ".kokoro/release.cfg"
158
- - ".kokoro/trampoline.bat"
159
- - ".kokoro/trampoline.sh"
148
+ - ".kokoro/release.sh"
149
+ - ".kokoro/trampoline_v2.sh"
160
150
  - ".repo-metadata.json"
161
151
  - ".rspec"
162
152
  - ".rubocop.yml"
153
+ - ".toys/.toys.rb"
154
+ - ".toys/ci.rb"
155
+ - ".toys/kokoro/.toys.rb"
156
+ - ".toys/kokoro/publish-docs.rb"
157
+ - ".toys/kokoro/publish-gem.rb"
158
+ - ".toys/linkinator.rb"
159
+ - ".trampolinerc"
163
160
  - CHANGELOG.md
164
161
  - CODE_OF_CONDUCT.md
165
162
  - Gemfile
166
163
  - LICENSE
167
164
  - README.md
168
- - Rakefile
169
165
  - googleauth.gemspec
170
166
  - integration/helper.rb
171
167
  - integration/id_tokens/key_source_test.rb
@@ -192,9 +188,6 @@ files:
192
188
  - lib/googleauth/user_refresh.rb
193
189
  - lib/googleauth/version.rb
194
190
  - lib/googleauth/web_user_authorizer.rb
195
- - rakelib/devsite_builder.rb
196
- - rakelib/link_checker.rb
197
- - rakelib/repo_metadata.rb
198
191
  - spec/googleauth/apply_auth_examples.rb
199
192
  - spec/googleauth/client_id_spec.rb
200
193
  - spec/googleauth/compute_engine_spec.rb
@@ -233,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
226
  - !ruby/object:Gem::Version
234
227
  version: '0'
235
228
  requirements: []
236
- rubygems_version: 3.2.11
229
+ rubygems_version: 3.2.13
237
230
  signing_key:
238
231
  specification_version: 4
239
232
  summary: Google Auth Library for Ruby