googleauth 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/googleauth.svg)](http://badge.fury.io/rb/googleauth)
|
11
11
|
[![Build Status](https://secure.travis-ci.org/google/google-auth-library-ruby.svg)](http://travis-ci.org/google/google-auth-library-ruby)
|
12
12
|
[![Coverage Status](https://coveralls.io/repos/google/google-auth-library-ruby/badge.svg)](https://coveralls.io/r/google/google-auth-library-ruby)
|
13
|
-
[![Dependency Status](https://gemnasium.com/google/google-auth-library-ruby.svg)](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
|