oauth2-aptible 0.9.5 → 0.10.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 +4 -4
- data/lib/oauth2/access_token.rb +14 -4
- data/lib/oauth2/version.rb +2 -2
- data/spec/oauth2/access_token_spec.rb +32 -3
- data/spec/oauth2/strategy/auth_code_spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c846a8652ef877ec30ecf1c39d791dafa4426ee8
|
4
|
+
data.tar.gz: 60ad59f81d91f0940029ecf6b4b0ab96989af3cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 613be9e21be059631092e7a8da50399243a67ab35563cb0948abfb4e15ea9f0d4d0bb4cf9aebafccb41177366a4236759592c87aa16c05370360f1914a5b2dac
|
7
|
+
data.tar.gz: 0a595db7f64a61c2a5090ab445ca4fc21bac691ea54e4b783ae13beaa99ccd95a1621f4eb8d3dcea33f003f462d1f00361ef23721fc40719a7c2af68d1cef2f0
|
data/lib/oauth2/access_token.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'time'
|
2
|
+
|
1
3
|
module OAuth2
|
2
4
|
class AccessToken
|
3
5
|
attr_reader :client, :token, :expires_in, :expires_at, :params
|
@@ -30,7 +32,7 @@ module OAuth2
|
|
30
32
|
# @param [Hash] opts the options to create the Access Token with
|
31
33
|
# @option opts [String] :refresh_token (nil) the refresh_token value
|
32
34
|
# @option opts [FixNum, String] :expires_in (nil) the number of seconds in which the AccessToken will expire
|
33
|
-
# @option opts [FixNum, String] :expires_at (nil) the epoch time in seconds
|
35
|
+
# @option opts [FixNum, String] :expires_at (nil) the time (epoch time in seconds or iso8601-formatted date) when the token will expire
|
34
36
|
# @option opts [Symbol] :mode (:header) the transmission mode of the Access Token parameter value
|
35
37
|
# one of :header, :body or :query
|
36
38
|
# @option opts [String] :header_format ('Bearer %s') the string format to use for the Authorization header
|
@@ -44,8 +46,16 @@ module OAuth2
|
|
44
46
|
end
|
45
47
|
@expires_in ||= opts.delete('expires')
|
46
48
|
@expires_in &&= @expires_in.to_i
|
47
|
-
@expires_at &&=
|
48
|
-
|
49
|
+
@expires_at &&= begin
|
50
|
+
Time.iso8601(@expires_at)
|
51
|
+
rescue ArgumentError, TypeError
|
52
|
+
begin
|
53
|
+
Time.at(Integer(@expires_at))
|
54
|
+
rescue ArgumentError
|
55
|
+
nil
|
56
|
+
end
|
57
|
+
end unless @expires_at.is_a?(Time)
|
58
|
+
@expires_at ||= Time.at(Time.now.to_i + @expires_in) if @expires_in
|
49
59
|
@options = {:mode => opts.delete(:mode) || :header,
|
50
60
|
:header_format => opts.delete(:header_format) || 'Bearer %s',
|
51
61
|
:param_name => opts.delete(:param_name) || 'access_token'}
|
@@ -70,7 +80,7 @@ module OAuth2
|
|
70
80
|
#
|
71
81
|
# @return [Boolean]
|
72
82
|
def expired?
|
73
|
-
expires? && (expires_at < Time.now
|
83
|
+
expires? && (expires_at < Time.now)
|
74
84
|
end
|
75
85
|
|
76
86
|
# Refreshes the current Access Token
|
data/lib/oauth2/version.rb
CHANGED
@@ -60,11 +60,35 @@ describe AccessToken do
|
|
60
60
|
expect(target.options[:mode]).to eq(:body)
|
61
61
|
end
|
62
62
|
|
63
|
-
it 'initializes with a string expires_at' do
|
63
|
+
it 'initializes with a string expires_at epoch' do
|
64
64
|
hash = {:access_token => token, :expires_at => '1361396829', 'foo' => 'bar'}
|
65
65
|
target = AccessToken.from_hash(client, hash)
|
66
66
|
assert_initialized_token(target)
|
67
|
-
expect(target.expires_at).to be_a(
|
67
|
+
expect(target.expires_at).to be_a(Time)
|
68
|
+
expect(target.expires_at.to_i).to eq(1361396829)
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'initializes with a string expires_at time' do
|
72
|
+
hash = {:access_token => token, :expires_at => '2016-05-06T17:37:59.128Z', 'foo' => 'bar'}
|
73
|
+
target = AccessToken.from_hash(client, hash)
|
74
|
+
assert_initialized_token(target)
|
75
|
+
expect(target.expires_at).to be_a(Time)
|
76
|
+
expect(target.expires_at.to_i).to eq(1462556279)
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'sets a Time for expires_at via expires_in' do
|
80
|
+
hash = {:access_token => token, :expires_in => '100', 'foo' => 'bar'}
|
81
|
+
target = AccessToken.from_hash(client, hash)
|
82
|
+
assert_initialized_token(target)
|
83
|
+
expect(target.expires_at).to be_a(Time)
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'passes through a Time for expires_at' do
|
87
|
+
t = Time.now
|
88
|
+
hash = {:access_token => token, :expires_at => t, 'foo' => 'bar'}
|
89
|
+
target = AccessToken.from_hash(client, hash)
|
90
|
+
assert_initialized_token(target)
|
91
|
+
expect(target.expires_at).to eq(t)
|
68
92
|
end
|
69
93
|
end
|
70
94
|
|
@@ -164,7 +188,12 @@ describe AccessToken do
|
|
164
188
|
|
165
189
|
describe '#to_hash' do
|
166
190
|
it 'return a hash equals to the hash used to initialize access token' do
|
167
|
-
|
191
|
+
t = Time.now + 200
|
192
|
+
hash = { :access_token => token,
|
193
|
+
:refresh_token => 'foobar',
|
194
|
+
:expires_at => t,
|
195
|
+
'foo' => 'bar'
|
196
|
+
}
|
168
197
|
access_token = AccessToken.from_hash(client, hash.clone)
|
169
198
|
expect(access_token.to_hash).to eq(hash)
|
170
199
|
end
|
@@ -76,7 +76,7 @@ describe OAuth2::Strategy::AuthCode do
|
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'returns AccessToken with #expires_at' do
|
79
|
-
expect(@access.expires_at).to be_kind_of(
|
79
|
+
expect(@access.expires_at).to be_kind_of(Time)
|
80
80
|
end
|
81
81
|
|
82
82
|
it 'returns AccessToken with params accessible via []' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth2-aptible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frank Macreery
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: 1.3.5
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 2.4
|
161
|
+
rubygems_version: 2.6.4
|
162
162
|
signing_key:
|
163
163
|
specification_version: 4
|
164
164
|
summary: A Ruby wrapper for the OAuth 2.0 protocol.
|