googleauth 0.1.0 → 0.16.2
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 +5 -5
- data/.github/CODEOWNERS +7 -0
- data/.github/CONTRIBUTING.md +74 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
- data/.github/ISSUE_TEMPLATE/support_request.md +7 -0
- data/.github/renovate.json +6 -0
- data/.github/sync-repo-settings.yaml +18 -0
- data/.github/workflows/ci.yml +55 -0
- data/.github/workflows/release-please.yml +39 -0
- data/.gitignore +3 -0
- data/.kokoro/populate-secrets.sh +76 -0
- data/.kokoro/release.cfg +52 -0
- data/.kokoro/release.sh +18 -0
- data/.kokoro/trampoline_v2.sh +489 -0
- data/.repo-metadata.json +5 -0
- data/.rubocop.yml +17 -0
- data/.toys/.toys.rb +45 -0
- data/.toys/ci.rb +43 -0
- data/.toys/kokoro/.toys.rb +66 -0
- data/.toys/kokoro/publish-docs.rb +67 -0
- data/.toys/kokoro/publish-gem.rb +53 -0
- data/.toys/linkinator.rb +43 -0
- data/.trampolinerc +48 -0
- data/CHANGELOG.md +199 -0
- data/CODE_OF_CONDUCT.md +43 -0
- data/Gemfile +22 -1
- data/{COPYING → LICENSE} +0 -0
- data/README.md +140 -17
- data/googleauth.gemspec +28 -28
- data/integration/helper.rb +31 -0
- data/integration/id_tokens/key_source_test.rb +74 -0
- data/lib/googleauth.rb +7 -37
- data/lib/googleauth/application_default.rb +81 -0
- data/lib/googleauth/client_id.rb +104 -0
- data/lib/googleauth/compute_engine.rb +73 -26
- data/lib/googleauth/credentials.rb +561 -0
- data/lib/googleauth/credentials_loader.rb +207 -0
- data/lib/googleauth/default_credentials.rb +93 -0
- data/lib/googleauth/iam.rb +75 -0
- data/lib/googleauth/id_tokens.rb +233 -0
- data/lib/googleauth/id_tokens/errors.rb +71 -0
- data/lib/googleauth/id_tokens/key_sources.rb +396 -0
- data/lib/googleauth/id_tokens/verifier.rb +142 -0
- data/lib/googleauth/json_key_reader.rb +50 -0
- data/lib/googleauth/scope_util.rb +61 -0
- data/lib/googleauth/service_account.rb +177 -67
- data/lib/googleauth/signet.rb +69 -8
- data/lib/googleauth/stores/file_token_store.rb +65 -0
- data/lib/googleauth/stores/redis_token_store.rb +96 -0
- data/lib/googleauth/token_store.rb +69 -0
- data/lib/googleauth/user_authorizer.rb +285 -0
- data/lib/googleauth/user_refresh.rb +129 -0
- data/lib/googleauth/version.rb +1 -1
- data/lib/googleauth/web_user_authorizer.rb +295 -0
- data/spec/googleauth/apply_auth_examples.rb +96 -94
- data/spec/googleauth/client_id_spec.rb +160 -0
- data/spec/googleauth/compute_engine_spec.rb +125 -55
- data/spec/googleauth/credentials_spec.rb +600 -0
- data/spec/googleauth/get_application_default_spec.rb +232 -80
- data/spec/googleauth/iam_spec.rb +80 -0
- data/spec/googleauth/scope_util_spec.rb +77 -0
- data/spec/googleauth/service_account_spec.rb +422 -68
- data/spec/googleauth/signet_spec.rb +101 -25
- data/spec/googleauth/stores/file_token_store_spec.rb +57 -0
- data/spec/googleauth/stores/redis_token_store_spec.rb +50 -0
- data/spec/googleauth/stores/store_examples.rb +58 -0
- data/spec/googleauth/user_authorizer_spec.rb +343 -0
- data/spec/googleauth/user_refresh_spec.rb +359 -0
- data/spec/googleauth/web_user_authorizer_spec.rb +172 -0
- data/spec/spec_helper.rb +51 -10
- data/test/helper.rb +33 -0
- data/test/id_tokens/key_sources_test.rb +240 -0
- data/test/id_tokens/verifier_test.rb +269 -0
- metadata +114 -75
- data/.travis.yml +0 -18
- data/CONTRIBUTING.md +0 -32
- data/Rakefile +0 -15
data/.repo-metadata.json
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
inherit_gem:
|
2
|
+
google-style: google-style.yml
|
3
|
+
|
4
|
+
AllCops:
|
5
|
+
Exclude:
|
6
|
+
- "Rakefile"
|
7
|
+
- "integration/**/*"
|
8
|
+
- "rakelib/**/*"
|
9
|
+
- "spec/**/*"
|
10
|
+
- "test/**/*"
|
11
|
+
Metrics/ClassLength:
|
12
|
+
Max: 200
|
13
|
+
Metrics/ModuleLength:
|
14
|
+
Max: 110
|
15
|
+
Metrics/BlockLength:
|
16
|
+
Exclude:
|
17
|
+
- "googleauth.gemspec"
|
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
|
data/.toys/linkinator.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 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
ADDED
@@ -0,0 +1,199 @@
|
|
1
|
+
# Release History
|
2
|
+
|
3
|
+
### [0.16.2](https://www.github.com/googleapis/google-auth-library-ruby/compare/google-auth-library-ruby/v0.16.1...google-auth-library-ruby/v0.16.2) (2021-04-28)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* Stop attempting to get the project from gcloud when applying self-signed JWTs ([#317](https://www.github.com/googleapis/google-auth-library-ruby/issues/317)) ([39258ca](https://www.github.com/googleapis/google-auth-library-ruby/commit/39258cacafa5c770fb40d99075a97b8e6427adba))
|
9
|
+
|
10
|
+
### [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)
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* Accept application/text content-type for plain idtoken response ([4948ebb](https://www.github.com/googleapis/google-auth-library-ruby/commit/4948ebb3ca151e9f0433585a41bad6f415416b2d))
|
16
|
+
|
17
|
+
## [0.16.0](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.15.1...v0.16.0) (2021-03-04)
|
18
|
+
|
19
|
+
|
20
|
+
### Features
|
21
|
+
|
22
|
+
* Drop support for Ruby 2.4 and add support for Ruby 3.0 ([6644806](https://www.github.com/googleapis/google-auth-library-ruby/commit/6644806ab47cea6d08e1901c2ed808e53a579bc3))
|
23
|
+
|
24
|
+
## [0.15.1](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.15.0...v0.15.1) (2021-02-08)
|
25
|
+
|
26
|
+
|
27
|
+
### Bug Fixes
|
28
|
+
|
29
|
+
* Fix crash when using a client credential without any paths or env_vars set ([#296](https://www.github.com/googleapis/google-auth-library-ruby/issues/296)) ([c971c1a](https://www.github.com/googleapis/google-auth-library-ruby/commit/c971c1ad2d7730c0f5b389d533a972be32fbaf49))
|
30
|
+
|
31
|
+
## [0.15.0](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.14.0...v0.15.0) (2021-01-26)
|
32
|
+
|
33
|
+
|
34
|
+
### Features
|
35
|
+
|
36
|
+
* Credential parameters inherit from superclasses ([4fa4720](https://www.github.com/googleapis/google-auth-library-ruby/commit/4fa47206dbd62f8bbdd1b9d3721f6baee9fd1d62))
|
37
|
+
* Service accounts apply a self-signed JWT if scopes are marked as default ([d22acb8](https://www.github.com/googleapis/google-auth-library-ruby/commit/d22acb8a510e6711b5674545c31a4816e5a9168f))
|
38
|
+
|
39
|
+
|
40
|
+
### Bug Fixes
|
41
|
+
|
42
|
+
* Retry fetch_access_token when GCE metadata server returns unexpected errors ([cd9b012](https://www.github.com/googleapis/google-auth-library-ruby/commit/cd9b0126d3419b9953982f71edc9e6ba3f640e3c))
|
43
|
+
* Support correct service account and user refresh behavior for custom credential env variables ([d2dffe5](https://www.github.com/googleapis/google-auth-library-ruby/commit/d2dffe592112b45006291ad9a57f56e00fb208c3))
|
44
|
+
|
45
|
+
## 0.14.0 / 2020-10-09
|
46
|
+
|
47
|
+
* Honor GCE_METADATA_HOST environment variable
|
48
|
+
* Fix errors in some environments when requesting an access token for multiple scopes
|
49
|
+
|
50
|
+
## 0.13.1 / 2020-07-30
|
51
|
+
|
52
|
+
* Support scopes when using GCE Metadata Server authentication ([@ball-hayden][])
|
53
|
+
|
54
|
+
## 0.13.0 / 2020-06-17
|
55
|
+
|
56
|
+
* Support for validating ID tokens.
|
57
|
+
* Fixed header application of ID tokens from service accounts.
|
58
|
+
|
59
|
+
## 0.12.0 / 2020-04-08
|
60
|
+
|
61
|
+
* Support for ID token credentials.
|
62
|
+
* Support reading quota_id_project from service account credentials.
|
63
|
+
|
64
|
+
## 0.11.0 / 2020-02-24
|
65
|
+
|
66
|
+
* Support Faraday 1.x.
|
67
|
+
* Allow special "postmessage" value for redirect_uri.
|
68
|
+
|
69
|
+
## 0.10.0 / 2019-10-09
|
70
|
+
|
71
|
+
Note: This release now requires Ruby 2.4 or later
|
72
|
+
|
73
|
+
* Increase metadata timeout to improve reliability in some hosting environments
|
74
|
+
* Support an environment variable to suppress Cloud SDK credentials warnings
|
75
|
+
* Make the header check case insensitive
|
76
|
+
* Set instance variables at initialization to avoid spamming warnings
|
77
|
+
* Pass "Metadata-Flavor" header to metadata server when checking for GCE
|
78
|
+
|
79
|
+
## 0.9.0 / 2019-08-05
|
80
|
+
|
81
|
+
* Restore compatibility with Ruby 2.0. This is the last release that will work on end-of-lifed versions of Ruby. The 0.10 release will require Ruby 2.4 or later.
|
82
|
+
* Update Credentials to use methods for values that are intended to be changed by users, replacing constants.
|
83
|
+
* Add retry on error for fetch_access_token
|
84
|
+
* Allow specifying custom state key-values
|
85
|
+
* Add verbosity none to gcloud command
|
86
|
+
* Make arity of WebUserAuthorizer#get_credentials compatible with the base class
|
87
|
+
|
88
|
+
## 0.8.1 / 2019-03-27
|
89
|
+
|
90
|
+
* Silence unnecessary gcloud warning
|
91
|
+
* Treat empty credentials environment variables as unset
|
92
|
+
|
93
|
+
## 0.8.0 / 2019-01-02
|
94
|
+
|
95
|
+
* Support connection options :default_connection and :connection_builder when creating credentials that need to refresh OAuth tokens. This lets clients provide connection objects with custom settings, such as proxies, needed for the client environment.
|
96
|
+
* Removed an unnecessary warning about project IDs.
|
97
|
+
|
98
|
+
## 0.7.1 / 2018-10-25
|
99
|
+
|
100
|
+
* Make load_gcloud_project_id module function.
|
101
|
+
|
102
|
+
## 0.7.0 / 2018-10-24
|
103
|
+
|
104
|
+
* Add project_id instance variable to UserRefreshCredentials, ServiceAccountCredentials, and Credentials.
|
105
|
+
|
106
|
+
## 0.6.7 / 2018-10-16
|
107
|
+
|
108
|
+
* Update memoist dependency to ~> 0.16.
|
109
|
+
|
110
|
+
## 0.6.6 / 2018-08-22
|
111
|
+
|
112
|
+
* Remove ruby version warnings.
|
113
|
+
|
114
|
+
## 0.6.5 / 2018-08-16
|
115
|
+
|
116
|
+
* Fix incorrect http verb when revoking credentials.
|
117
|
+
* Warn on EOL ruby versions.
|
118
|
+
|
119
|
+
## 0.6.4 / 2018-08-03
|
120
|
+
|
121
|
+
* Resolve issue where DefaultCredentials constant was undefined.
|
122
|
+
|
123
|
+
## 0.6.3 / 2018-08-02
|
124
|
+
|
125
|
+
* Resolve issue where token_store was being written to twice
|
126
|
+
|
127
|
+
## 0.6.2 / 2018-08-01
|
128
|
+
|
129
|
+
* Add warning when using cloud sdk credentials
|
130
|
+
|
131
|
+
## 0.6.1 / 2017-10-18
|
132
|
+
|
133
|
+
* Fix file permissions
|
134
|
+
|
135
|
+
## 0.6.0 / 2017-10-17
|
136
|
+
|
137
|
+
* Support ruby-jwt 2.0
|
138
|
+
* Add simple credentials class
|
139
|
+
|
140
|
+
## 0.5.3 / 2017-07-21
|
141
|
+
|
142
|
+
* Fix file permissions on the gem's `.rb` files.
|
143
|
+
|
144
|
+
## 0.5.2 / 2017-07-19
|
145
|
+
|
146
|
+
* Add retry mechanism when fetching access tokens in `GCECredentials` and `UserRefreshCredentials` classes.
|
147
|
+
* Update Google API OAuth2 token credential URI to v4.
|
148
|
+
|
149
|
+
## 0.5.1 / 2016-01-06
|
150
|
+
|
151
|
+
* Change header name emitted by `Client#apply` from "Authorization" to "authorization" ([@murgatroid99][])
|
152
|
+
* Fix ADC not working on some windows machines ([@vsubramani][])
|
153
|
+
[#55](https://github.com/google/google-auth-library-ruby/issues/55)
|
154
|
+
|
155
|
+
## 0.5.0 / 2015-10-12
|
156
|
+
|
157
|
+
* Initial support for user credentials ([@sqrrrl][])
|
158
|
+
* Update Signet to 0.7
|
159
|
+
|
160
|
+
## 0.4.2 / 2015-08-05
|
161
|
+
|
162
|
+
* Updated UserRefreshCredentials hash to use string keys ([@haabaato][])
|
163
|
+
[#36](https://github.com/google/google-auth-library-ruby/issues/36)
|
164
|
+
|
165
|
+
* Add support for a system default credentials file. ([@mr-salty][])
|
166
|
+
[#33](https://github.com/google/google-auth-library-ruby/issues/33)
|
167
|
+
|
168
|
+
* Fix bug when loading credentials from ENV ([@dwilkie][])
|
169
|
+
[#31](https://github.com/google/google-auth-library-ruby/issues/31)
|
170
|
+
|
171
|
+
* Relax the constraint of dependent version of multi_json ([@igrep][])
|
172
|
+
[#30](https://github.com/google/google-auth-library-ruby/issues/30)
|
173
|
+
|
174
|
+
* Enables passing credentials via environment variables. ([@haabaato][])
|
175
|
+
[#27](https://github.com/google/google-auth-library-ruby/issues/27)
|
176
|
+
|
177
|
+
## 0.4.1 / 2015-04-25
|
178
|
+
|
179
|
+
* Improves handling of --no-scopes GCE authorization ([@tbetbetbe][])
|
180
|
+
* Refactoring and cleanup ([@joneslee85][])
|
181
|
+
|
182
|
+
## 0.4.0 / 2015-03-25
|
183
|
+
|
184
|
+
* Adds an implementation of JWT header auth ([@tbetbetbe][])
|
185
|
+
|
186
|
+
## 0.3.0 / 2015-03-23
|
187
|
+
|
188
|
+
* makes the scope parameter's optional in all APIs. ([@tbetbetbe][])
|
189
|
+
* changes the scope parameter's position in various constructors. ([@tbetbetbe][])
|
190
|
+
|
191
|
+
[@dwilkie]: https://github.com/dwilkie
|
192
|
+
[@haabaato]: https://github.com/haabaato
|
193
|
+
[@igrep]: https://github.com/igrep
|
194
|
+
[@joneslee85]: https://github.com/joneslee85
|
195
|
+
[@mr-salty]: https://github.com/mr-salty
|
196
|
+
[@tbetbetbe]: https://github.com/tbetbetbe
|
197
|
+
[@murgatroid99]: https://github.com/murgatroid99
|
198
|
+
[@vsubramani]: https://github.com/vsubramani
|
199
|
+
[@ball-hayden]: https://github.com/ball-hayden
|