googleauth 0.6.4 → 0.6.5
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 +4 -4
- data/.travis.yml +5 -4
- data/CHANGELOG.md +5 -0
- data/README.md +11 -1
- data/lib/googleauth.rb +72 -0
- data/lib/googleauth/user_refresh.rb +1 -1
- data/lib/googleauth/version.rb +1 -1
- data/spec/googleauth/user_authorizer_spec.rb +5 -5
- data/spec/googleauth/user_refresh_spec.rb +8 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42b70d4d7a7f9a7f6260501866ff9568c0617c96930ecc5476af975c65b2927b
|
4
|
+
data.tar.gz: 8a4abb1767b3f2fb1257cc9dbbcf2bd47e0337c580ee01ddcbeb9cda9830b729
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 791422083e1cb0b97785d9dff1c7bff9d26d6d36154c29717e48a999611c7c6920b771f1e3febe8b4ce0479122aa3f6bdd22a421f3d19622ff21dec66971e725
|
7
|
+
data.tar.gz: f3da1e7b835fa67c9bc346ac69fbfdcf448ea756dae0a142be16a195e05b0c3884bbf947fa847bcb5f8d4d754db3a12b240f019288d79affa9654f272aa0e3ac
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -10,7 +10,6 @@
|
|
10
10
|
[](http://badge.fury.io/rb/googleauth)
|
11
11
|
[](http://travis-ci.org/google/google-auth-library-ruby)
|
12
12
|
[](https://coveralls.io/r/google/google-auth-library-ruby)
|
13
|
-
[](https://gemnasium.com/google/google-auth-library-ruby)
|
14
13
|
|
15
14
|
## Description
|
16
15
|
|
@@ -163,6 +162,17 @@ access and refresh tokens. Two storage implementations are included:
|
|
163
162
|
Custom storage implementations can also be used. See
|
164
163
|
[token_store.rb](lib/googleauth/token_store.rb) for additional details.
|
165
164
|
|
165
|
+
## Supported Ruby Versions
|
166
|
+
|
167
|
+
This library is currently supported on Ruby 1.9+.
|
168
|
+
|
169
|
+
However, Ruby 2.4 or later is strongly recommended, as earlier releases have
|
170
|
+
reached or are nearing end-of-life. After March 31, 2019, Google will provide
|
171
|
+
official support only for Ruby versions that are considered current and
|
172
|
+
supported by Ruby Core (that is, Ruby versions that are either in normal
|
173
|
+
maintenance or in security maintenance).
|
174
|
+
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
|
175
|
+
|
166
176
|
## License
|
167
177
|
|
168
178
|
This library is licensed under Apache 2.0. Full license text is
|
data/lib/googleauth.rb
CHANGED
@@ -33,3 +33,75 @@ require 'googleauth/credentials'
|
|
33
33
|
require 'googleauth/default_credentials'
|
34
34
|
require 'googleauth/user_authorizer'
|
35
35
|
require 'googleauth/web_user_authorizer'
|
36
|
+
|
37
|
+
module Google
|
38
|
+
# Module Auth provides classes that provide Google-specific authorization
|
39
|
+
# used to access Google APIs.
|
40
|
+
module Auth
|
41
|
+
# rubocop:disable MethodDefParentheses
|
42
|
+
|
43
|
+
# On March 31, 2019, set supported version to 2.4 and recommended to 2.6.
|
44
|
+
# Thereafter, follow the MRI support schedule: supported means non-EOL,
|
45
|
+
# and recommended means in normal (rather than security) maintenance.
|
46
|
+
# See https://www.ruby-lang.org/en/downloads/branches/
|
47
|
+
##
|
48
|
+
# Minimum "supported" Ruby version (non-EOL)
|
49
|
+
# @private
|
50
|
+
#
|
51
|
+
SUPPORTED_VERSION_THRESHOLD = '1.9'.freeze
|
52
|
+
##
|
53
|
+
# Minimum "recommended" Ruby version (normal maintenance)
|
54
|
+
# @private
|
55
|
+
#
|
56
|
+
RECOMMENDED_VERSION_THRESHOLD = '2.4'.freeze
|
57
|
+
##
|
58
|
+
# Check Ruby version and emit a warning if it is old
|
59
|
+
# @private
|
60
|
+
#
|
61
|
+
def self.warn_on_old_ruby_version
|
62
|
+
return if ENV['GOOGLE_CLOUD_SUPPRESS_RUBY_WARNINGS']
|
63
|
+
cur_version = Gem::Version.new RUBY_VERSION
|
64
|
+
if cur_version < Gem::Version.new(SUPPORTED_VERSION_THRESHOLD)
|
65
|
+
warn_unsupported_ruby cur_version, RECOMMENDED_VERSION_THRESHOLD
|
66
|
+
elsif cur_version < Gem::Version.new(RECOMMENDED_VERSION_THRESHOLD)
|
67
|
+
warn_nonrecommended_ruby cur_version, RECOMMENDED_VERSION_THRESHOLD
|
68
|
+
end
|
69
|
+
rescue ArgumentError
|
70
|
+
warn 'Unable to determine current Ruby version.'
|
71
|
+
end
|
72
|
+
|
73
|
+
##
|
74
|
+
# Print a warning for an EOL version of Ruby
|
75
|
+
# @private
|
76
|
+
#
|
77
|
+
def self.warn_unsupported_ruby cur_version, recommended_version
|
78
|
+
warn "WARNING: You are running Ruby #{cur_version}, which has reached" \
|
79
|
+
' end-of-life and is no longer supported by Ruby Core.'
|
80
|
+
warn 'The Google Cloud API clients work best on supported versions of' \
|
81
|
+
' Ruby. It is strongly recommended that you upgrade to Ruby' \
|
82
|
+
" #{recommended_version} or later."
|
83
|
+
warn 'See https://www.ruby-lang.org/en/downloads/branches/ for more' \
|
84
|
+
' info on the Ruby maintenance schedule.'
|
85
|
+
warn 'To suppress this message, set the' \
|
86
|
+
' GOOGLE_CLOUD_SUPPRESS_RUBY_WARNINGS environment variable.'
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Print a warning for a supported but nearing EOL version of Ruby
|
91
|
+
# @private
|
92
|
+
#
|
93
|
+
def self.warn_nonrecommended_ruby cur_version, recommended_version
|
94
|
+
warn "WARNING: You are running Ruby #{cur_version}, which is nearing" \
|
95
|
+
' end-of-life.'
|
96
|
+
warn 'The Google Cloud API clients work best on supported versions of' \
|
97
|
+
" Ruby. Consider upgrading to Ruby #{recommended_version} or later."
|
98
|
+
warn 'See https://www.ruby-lang.org/en/downloads/branches/ for more' \
|
99
|
+
' info on the Ruby maintenance schedule.'
|
100
|
+
warn 'To suppress this message, set the' \
|
101
|
+
' GOOGLE_CLOUD_SUPPRESS_RUBY_WARNINGS environment variable.'
|
102
|
+
end
|
103
|
+
# rubocop:enable MethodDefParentheses
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
Google::Auth.warn_on_old_ruby_version
|
@@ -94,7 +94,7 @@ module Google
|
|
94
94
|
c = options[:connection] || Faraday.default_connection
|
95
95
|
|
96
96
|
retry_with_error do
|
97
|
-
resp = c.
|
97
|
+
resp = c.post(REVOKE_TOKEN_URI, token: refresh_token || access_token)
|
98
98
|
case resp.status
|
99
99
|
when 200
|
100
100
|
self.access_token = nil
|
data/lib/googleauth/version.rb
CHANGED
@@ -299,17 +299,17 @@ describe Google::Auth::UserAuthorizer do
|
|
299
299
|
|
300
300
|
before(:example) do
|
301
301
|
token_store.store('user1', token_json)
|
302
|
-
stub_request(
|
303
|
-
:
|
304
|
-
)
|
302
|
+
stub_request(:post, 'https://oauth2.googleapis.com/revoke')
|
303
|
+
.with(body: hash_including('token' => 'refreshtoken'))
|
305
304
|
.to_return(status: 200)
|
306
305
|
end
|
307
306
|
|
308
307
|
it 'should revoke the grant' do
|
309
308
|
authorizer.revoke_authorization('user1')
|
310
309
|
expect(a_request(
|
311
|
-
:
|
312
|
-
|
310
|
+
:post, 'https://oauth2.googleapis.com/revoke'
|
311
|
+
).with(body: hash_including('token' => 'refreshtoken'))
|
312
|
+
)
|
313
313
|
.to have_been_made
|
314
314
|
end
|
315
315
|
|
@@ -246,8 +246,8 @@ describe Google::Auth::UserRefreshCredentials do
|
|
246
246
|
|
247
247
|
describe 'when revoking a refresh token' do
|
248
248
|
let(:stub) do
|
249
|
-
stub_request(:
|
250
|
-
|
249
|
+
stub_request(:post, 'https://oauth2.googleapis.com/revoke')
|
250
|
+
.with(body: hash_including('token' => 'refreshtoken'))
|
251
251
|
.to_return(status: 200,
|
252
252
|
headers: { 'Content-Type' => 'application/json' })
|
253
253
|
end
|
@@ -262,8 +262,8 @@ describe Google::Auth::UserRefreshCredentials do
|
|
262
262
|
|
263
263
|
describe 'when revoking an access token' do
|
264
264
|
let(:stub) do
|
265
|
-
stub_request(:
|
266
|
-
|
265
|
+
stub_request(:post, 'https://oauth2.googleapis.com/revoke')
|
266
|
+
.with(body: hash_including('token' => 'accesstoken'))
|
267
267
|
.to_return(status: 200,
|
268
268
|
headers: { 'Content-Type' => 'application/json' })
|
269
269
|
end
|
@@ -280,8 +280,8 @@ describe Google::Auth::UserRefreshCredentials do
|
|
280
280
|
|
281
281
|
describe 'when revoking an invalid token' do
|
282
282
|
let(:stub) do
|
283
|
-
stub_request(:
|
284
|
-
|
283
|
+
stub_request(:post, 'https://oauth2.googleapis.com/revoke')
|
284
|
+
.with(body: hash_including('token' => 'refreshtoken'))
|
285
285
|
.to_return(status: 400,
|
286
286
|
headers: { 'Content-Type' => 'application/json' })
|
287
287
|
end
|
@@ -296,14 +296,14 @@ describe Google::Auth::UserRefreshCredentials do
|
|
296
296
|
|
297
297
|
describe 'when errors occurred with request' do
|
298
298
|
it 'should fail with Signet::AuthorizationError if request times out' do
|
299
|
-
allow_any_instance_of(Faraday::Connection).to receive(:
|
299
|
+
allow_any_instance_of(Faraday::Connection).to receive(:post)
|
300
300
|
.and_raise(Faraday::TimeoutError)
|
301
301
|
expect { @client.revoke! }
|
302
302
|
.to raise_error Signet::AuthorizationError
|
303
303
|
end
|
304
304
|
|
305
305
|
it 'should fail with Signet::AuthorizationError if request fails' do
|
306
|
-
allow_any_instance_of(Faraday::Connection).to receive(:
|
306
|
+
allow_any_instance_of(Faraday::Connection).to receive(:post)
|
307
307
|
.and_raise(Faraday::ConnectionFailed, nil)
|
308
308
|
expect { @client.revoke! }
|
309
309
|
.to raise_error Signet::AuthorizationError
|
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.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Emiola
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|