googleauth 0.5.1 → 0.14.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 +5 -5
- data/.github/CODEOWNERS +7 -0
- data/{CONTRIBUTING.md → .github/CONTRIBUTING.md} +5 -4
- 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/.kokoro/build.bat +16 -0
- data/.kokoro/build.sh +4 -0
- data/.kokoro/continuous/common.cfg +24 -0
- data/.kokoro/continuous/linux.cfg +25 -0
- data/.kokoro/continuous/osx.cfg +8 -0
- data/.kokoro/continuous/post.cfg +30 -0
- data/.kokoro/continuous/windows.cfg +29 -0
- data/.kokoro/osx.sh +4 -0
- data/.kokoro/presubmit/common.cfg +24 -0
- data/.kokoro/presubmit/linux.cfg +24 -0
- data/.kokoro/presubmit/osx.cfg +8 -0
- data/.kokoro/presubmit/windows.cfg +29 -0
- data/.kokoro/release.cfg +94 -0
- data/.kokoro/trampoline.bat +10 -0
- data/.kokoro/trampoline.sh +4 -0
- data/.repo-metadata.json +5 -0
- data/.rubocop.yml +19 -1
- data/CHANGELOG.md +112 -19
- data/CODE_OF_CONDUCT.md +43 -0
- data/Gemfile +19 -13
- data/{COPYING → LICENSE} +0 -0
- data/README.md +58 -18
- data/Rakefile +126 -9
- data/googleauth.gemspec +28 -25
- data/integration/helper.rb +31 -0
- data/integration/id_tokens/key_source_test.rb +74 -0
- data/lib/googleauth.rb +7 -96
- data/lib/googleauth/application_default.rb +81 -0
- data/lib/googleauth/client_id.rb +21 -19
- data/lib/googleauth/compute_engine.rb +70 -43
- data/lib/googleauth/credentials.rb +442 -0
- data/lib/googleauth/credentials_loader.rb +117 -43
- data/lib/googleauth/default_credentials.rb +93 -0
- data/lib/googleauth/iam.rb +11 -11
- 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 +394 -0
- data/lib/googleauth/id_tokens/verifier.rb +144 -0
- data/lib/googleauth/json_key_reader.rb +50 -0
- data/lib/googleauth/scope_util.rb +12 -12
- data/lib/googleauth/service_account.rb +74 -63
- data/lib/googleauth/signet.rb +55 -13
- data/lib/googleauth/stores/file_token_store.rb +8 -8
- data/lib/googleauth/stores/redis_token_store.rb +22 -22
- data/lib/googleauth/token_store.rb +6 -6
- data/lib/googleauth/user_authorizer.rb +80 -68
- data/lib/googleauth/user_refresh.rb +44 -35
- data/lib/googleauth/version.rb +1 -1
- data/lib/googleauth/web_user_authorizer.rb +77 -68
- data/rakelib/devsite_builder.rb +45 -0
- data/rakelib/link_checker.rb +64 -0
- data/rakelib/repo_metadata.rb +59 -0
- data/spec/googleauth/apply_auth_examples.rb +74 -50
- data/spec/googleauth/client_id_spec.rb +75 -55
- data/spec/googleauth/compute_engine_spec.rb +98 -46
- data/spec/googleauth/credentials_spec.rb +478 -0
- data/spec/googleauth/get_application_default_spec.rb +149 -111
- data/spec/googleauth/iam_spec.rb +25 -25
- data/spec/googleauth/scope_util_spec.rb +26 -24
- data/spec/googleauth/service_account_spec.rb +269 -144
- data/spec/googleauth/signet_spec.rb +101 -30
- data/spec/googleauth/stores/file_token_store_spec.rb +12 -13
- data/spec/googleauth/stores/redis_token_store_spec.rb +11 -11
- data/spec/googleauth/stores/store_examples.rb +16 -16
- data/spec/googleauth/user_authorizer_spec.rb +153 -124
- data/spec/googleauth/user_refresh_spec.rb +186 -121
- data/spec/googleauth/web_user_authorizer_spec.rb +82 -69
- data/spec/spec_helper.rb +21 -19
- 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 +87 -34
- data/.rubocop_todo.yml +0 -32
- data/.travis.yml +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8846e57d325ff993c15ca691e299b9c2c4b7472b1b0a9e905b36cdb99216e061
|
4
|
+
data.tar.gz: 2fcee29e36a6fd57420b9cd0106cf3ab73bf447e94e2f6bdce61a973d256cd5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd54bce055240fc1db34ccfe2850ab49f23b17f55f5336dfeccf380c2f93b8b9e29100a1c53f360564e8387805a9c4bf74d09eb2ca58b5bda666cdab3b061f45
|
7
|
+
data.tar.gz: 27dae4439e8163194604e912918709d2cd623c61856f70f7c350b08dfac010fdff50ad703934b88631c2759dcf7e5aab5b315a884cb160790c153115ee88bdfe
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
# Code owners file.
|
2
|
+
# This file controls who is tagged for review for any given pull request.
|
3
|
+
#
|
4
|
+
# For syntax help see:
|
5
|
+
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
|
6
|
+
|
7
|
+
* @googleapis/yoshi-ruby
|
@@ -9,11 +9,12 @@ Please fill out either the individual or corporate Contributor License Agreement
|
|
9
9
|
(CLA).
|
10
10
|
|
11
11
|
* If you are an individual writing original source code and you're sure you
|
12
|
-
own the intellectual property, then you'll need to sign an [individual CLA]
|
13
|
-
(http://code.google.com/legal/individual-cla-v1.0.html).
|
12
|
+
own the intellectual property, then you'll need to sign an [individual CLA].
|
14
13
|
* If you work for a company that wants to allow you to contribute your work,
|
15
|
-
then you'll need to sign a [corporate CLA]
|
16
|
-
|
14
|
+
then you'll need to sign a [corporate CLA].
|
15
|
+
|
16
|
+
[individual CLA]: http://code.google.com/legal/individual-cla-v1.0.html
|
17
|
+
[corporate CLA]: http://code.google.com/legal/corporate-cla-v1.0.html
|
17
18
|
|
18
19
|
Follow either of the two links above to access the appropriate CLA and
|
19
20
|
instructions for how to sign and return it. Once we receive it, we'll be able to
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
Thanks for stopping by to let us know something could be better!
|
8
|
+
|
9
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
10
|
+
|
11
|
+
Please run down the following list and make sure you've tried the usual "quick fixes":
|
12
|
+
|
13
|
+
- Search the issues already opened: https://github.com/googleapis/google-auth-library-ruby/issues
|
14
|
+
- Search Stack Overflow: https://stackoverflow.com/questions/tagged/google-auth-library-ruby
|
15
|
+
|
16
|
+
If you are still having issues, please be sure to include as much information as possible:
|
17
|
+
|
18
|
+
#### Environment details
|
19
|
+
|
20
|
+
- OS:
|
21
|
+
- Ruby version:
|
22
|
+
- Gem name and version:
|
23
|
+
|
24
|
+
#### Steps to reproduce
|
25
|
+
|
26
|
+
1. ...
|
27
|
+
|
28
|
+
#### Code example
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
# example
|
32
|
+
```
|
33
|
+
|
34
|
+
Making sure to follow these steps will guarantee the quickest resolution possible.
|
35
|
+
|
36
|
+
Thanks!
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this library
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
Thanks for stopping by to let us know something could be better!
|
8
|
+
|
9
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
10
|
+
|
11
|
+
**Is your feature request related to a problem? Please describe.**
|
12
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
13
|
+
|
14
|
+
**Describe the solution you'd like**
|
15
|
+
A clear and concise description of what you want to happen.
|
16
|
+
|
17
|
+
**Describe alternatives you've considered**
|
18
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
19
|
+
|
20
|
+
**Additional context**
|
21
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
name: Support request
|
3
|
+
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
data/.kokoro/build.bat
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
REM This file runs tests for merges, PRs, and nightlies.
|
2
|
+
REM There are a few rules for what tests are run:
|
3
|
+
REM * PRs run all non-acceptance tests for every library.
|
4
|
+
REM * Merges run all non-acceptance tests for every library, and acceptance tests for all altered libraries.
|
5
|
+
REM * Nightlies run all acceptance tests for every library.
|
6
|
+
REM Currently only runs tests on 2.5.1
|
7
|
+
|
8
|
+
SET url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/build.bat"
|
9
|
+
|
10
|
+
SET "download=powershell -C Invoke-WebRequest -Uri %url% -OutFile master-build.bat"
|
11
|
+
|
12
|
+
SET EXIT_STATUS=1
|
13
|
+
|
14
|
+
%download% && master-build.bat && SET EXIT_STATUS=0
|
15
|
+
|
16
|
+
EXIT %EXIT_STATUS%
|
data/.kokoro/build.sh
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
# Build logs will be here
|
4
|
+
action {
|
5
|
+
define_artifacts {
|
6
|
+
regex: "**/*sponge_log.xml"
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
# Download trampoline resources.
|
11
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
|
12
|
+
|
13
|
+
# Download resources for system tests (service account key, etc.)
|
14
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
|
15
|
+
|
16
|
+
env_vars: {
|
17
|
+
key: "JOB_TYPE"
|
18
|
+
value: "continuous"
|
19
|
+
}
|
20
|
+
|
21
|
+
env_vars: {
|
22
|
+
key: "REPO_DIR"
|
23
|
+
value: "github/google-auth-library-ruby"
|
24
|
+
}
|
@@ -0,0 +1,25 @@
|
|
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
|
7
|
+
env_vars: {
|
8
|
+
key: "TRAMPOLINE_IMAGE"
|
9
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
|
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
|
+
}
|
@@ -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
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
build_file: "google-auth-library-ruby/.kokoro/trampoline.bat"
|
4
|
+
|
5
|
+
# Configure the docker image for kokoro-trampoline.
|
6
|
+
env_vars: {
|
7
|
+
key: "TRAMPOLINE_IMAGE"
|
8
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/windows"
|
9
|
+
}
|
10
|
+
|
11
|
+
env_vars: {
|
12
|
+
key: "TRAMPOLINE_BUILD_FILE"
|
13
|
+
value: "github/google-auth-library-ruby/.kokoro/build.bat"
|
14
|
+
}
|
15
|
+
|
16
|
+
env_vars: {
|
17
|
+
key: "TRAMPOLINE_SCRIPT"
|
18
|
+
value: "trampoline_windows.py"
|
19
|
+
}
|
20
|
+
|
21
|
+
env_vars: {
|
22
|
+
key: "REPO_DIR"
|
23
|
+
value: "google-auth-library-ruby"
|
24
|
+
}
|
25
|
+
|
26
|
+
env_vars: {
|
27
|
+
key: "OS"
|
28
|
+
value: "windows"
|
29
|
+
}
|
data/.kokoro/osx.sh
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
# Build logs will be here
|
4
|
+
action {
|
5
|
+
define_artifacts {
|
6
|
+
regex: "**/*sponge_log.xml"
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
# Download trampoline resources.
|
11
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
|
12
|
+
|
13
|
+
# Download resources for system tests (service account key, etc.)
|
14
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
|
15
|
+
|
16
|
+
env_vars: {
|
17
|
+
key: "JOB_TYPE"
|
18
|
+
value: "presubmit"
|
19
|
+
}
|
20
|
+
|
21
|
+
env_vars: {
|
22
|
+
key: "REPO_DIR"
|
23
|
+
value: "github/google-auth-library-ruby"
|
24
|
+
}
|
@@ -0,0 +1,24 @@
|
|
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
|
+
env_vars: {
|
7
|
+
key: "TRAMPOLINE_IMAGE"
|
8
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
|
9
|
+
}
|
10
|
+
|
11
|
+
env_vars: {
|
12
|
+
key: "TRAMPOLINE_BUILD_FILE"
|
13
|
+
value: "github/google-auth-library-ruby/.kokoro/build.sh"
|
14
|
+
}
|
15
|
+
|
16
|
+
env_vars: {
|
17
|
+
key: "TRAMPOLINE_SCRIPT"
|
18
|
+
value: "trampoline_v1.py"
|
19
|
+
}
|
20
|
+
|
21
|
+
env_vars: {
|
22
|
+
key: "OS"
|
23
|
+
value: "linux"
|
24
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
build_file: "google-auth-library-ruby/.kokoro/trampoline.bat"
|
4
|
+
|
5
|
+
# Configure the docker image for kokoro-trampoline.
|
6
|
+
env_vars: {
|
7
|
+
key: "TRAMPOLINE_IMAGE"
|
8
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/windows"
|
9
|
+
}
|
10
|
+
|
11
|
+
env_vars: {
|
12
|
+
key: "TRAMPOLINE_BUILD_FILE"
|
13
|
+
value: "github/google-auth-library-ruby/.kokoro/build.bat"
|
14
|
+
}
|
15
|
+
|
16
|
+
env_vars: {
|
17
|
+
key: "TRAMPOLINE_SCRIPT"
|
18
|
+
value: "trampoline_windows.py"
|
19
|
+
}
|
20
|
+
|
21
|
+
env_vars: {
|
22
|
+
key: "REPO_DIR"
|
23
|
+
value: "google-auth-library-ruby"
|
24
|
+
}
|
25
|
+
|
26
|
+
env_vars: {
|
27
|
+
key: "OS"
|
28
|
+
value: "windows"
|
29
|
+
}
|
data/.kokoro/release.cfg
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
# Build logs will be here
|
4
|
+
action {
|
5
|
+
define_artifacts {
|
6
|
+
regex: "**/*sponge_log.xml"
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
# Fetch the token needed for reporting release status to GitHub
|
11
|
+
before_action {
|
12
|
+
fetch_keystore {
|
13
|
+
keystore_resource {
|
14
|
+
keystore_config_id: 73713
|
15
|
+
keyname: "yoshi-automation-github-key"
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
# Fetch magictoken to use with Magic Github Proxy
|
21
|
+
before_action {
|
22
|
+
fetch_keystore {
|
23
|
+
keystore_resource {
|
24
|
+
keystore_config_id: 73713
|
25
|
+
keyname: "releasetool-magictoken"
|
26
|
+
backend_type: FASTCONFIGPUSH
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
# Fetch api key to use with Magic Github Proxy
|
32
|
+
before_action {
|
33
|
+
fetch_keystore {
|
34
|
+
keystore_resource {
|
35
|
+
keystore_config_id: 73713
|
36
|
+
keyname: "magic-github-proxy-api-key"
|
37
|
+
backend_type: FASTCONFIGPUSH
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
before_action {
|
43
|
+
fetch_keystore {
|
44
|
+
keystore_resource {
|
45
|
+
keystore_config_id: 73713
|
46
|
+
keyname: "docuploader_service_account"
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
# Download resources for system tests (service account key, etc.)
|
52
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
|
53
|
+
|
54
|
+
# Download trampoline resources.
|
55
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
|
56
|
+
|
57
|
+
# Use the trampoline script to run in docker.
|
58
|
+
build_file: "google-auth-library-ruby/.kokoro/trampoline.sh"
|
59
|
+
|
60
|
+
# Configure the docker image for kokoro-trampoline.
|
61
|
+
env_vars: {
|
62
|
+
key: "TRAMPOLINE_IMAGE"
|
63
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/release"
|
64
|
+
}
|
65
|
+
|
66
|
+
env_vars: {
|
67
|
+
key: "TRAMPOLINE_BUILD_FILE"
|
68
|
+
value: "github/google-auth-library-ruby/.kokoro/build.sh"
|
69
|
+
}
|
70
|
+
|
71
|
+
env_vars: {
|
72
|
+
key: "TRAMPOLINE_SCRIPT"
|
73
|
+
value: "trampoline_v1.py"
|
74
|
+
}
|
75
|
+
|
76
|
+
env_vars: {
|
77
|
+
key: "JOB_TYPE"
|
78
|
+
value: "release"
|
79
|
+
}
|
80
|
+
|
81
|
+
env_vars: {
|
82
|
+
key: "OS"
|
83
|
+
value: "linux"
|
84
|
+
}
|
85
|
+
|
86
|
+
env_vars: {
|
87
|
+
key: "REPO_DIR"
|
88
|
+
value: "github/google-auth-library-ruby"
|
89
|
+
}
|
90
|
+
|
91
|
+
env_vars: {
|
92
|
+
key: "PACKAGE"
|
93
|
+
value: "googleauth"
|
94
|
+
}
|