authentic-rb 1.5.0 → 1.6.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/authentic/error.rb +3 -0
- data/lib/authentic/validator.rb +8 -7
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb1a72bbd0adfdc4e710bc9cb998eed816b68c2d478ee69d7e891028249a9b78
|
4
|
+
data.tar.gz: a05603819fde73ff95e53a6c3feba89ddab1481bebf64a2fb2dffe6443231d62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff375b3fa277837009eb7027a918d395a0aaebcd5eebc633b71070f02519407107112b6a1775143d0e3831441efe7e0188af0c3d1ae95de1866bf90e9b7a4660
|
7
|
+
data.tar.gz: 8f48caceb8e1302b4a54d2a41bf42af3df2b8c66f609f5d5621368305c5efe0867945c311b2c52423840d63288520ad1fa2ea94f12f176a8f61a82bd7c56cc37
|
data/lib/authentic/error.rb
CHANGED
data/lib/authentic/validator.rb
CHANGED
@@ -25,7 +25,7 @@ module Authentic
|
|
25
25
|
def valid?(token)
|
26
26
|
ensure_valid(token)
|
27
27
|
true
|
28
|
-
rescue InvalidToken, InvalidKey, RequestError
|
28
|
+
rescue InvalidToken, ExpiredToken, InvalidKey, RequestError
|
29
29
|
false
|
30
30
|
end
|
31
31
|
|
@@ -41,16 +41,17 @@ module Authentic
|
|
41
41
|
|
42
42
|
# Slightly more accurate to raise a key error here for nil key,
|
43
43
|
# rather then verify raising an error that would lead to InvalidToken
|
44
|
-
raise InvalidKey
|
44
|
+
raise InvalidKey if key.nil?
|
45
45
|
|
46
|
-
|
46
|
+
exp = Time.at(jwt[:exp])
|
47
|
+
raise ExpiredToken, "Token expired at #{exp}" unless exp > Time.now
|
47
48
|
|
48
49
|
jwt.verify!(key)
|
49
50
|
end
|
50
51
|
rescue JSON::JWT::UnexpectedAlgorithm, JSON::JWT::VerificationFailed
|
51
|
-
raise InvalidToken, '
|
52
|
+
raise InvalidToken, 'Failed to validate token against JWK'
|
52
53
|
rescue OpenSSL::PKey::PKeyError
|
53
|
-
raise InvalidKey
|
54
|
+
raise InvalidKey
|
54
55
|
end
|
55
56
|
|
56
57
|
# Decodes and does basic validation of JWT.
|
@@ -59,13 +60,13 @@ module Authentic
|
|
59
60
|
#
|
60
61
|
# Returns JSON::JWT
|
61
62
|
def decode_jwt(token)
|
62
|
-
raise InvalidToken, '
|
63
|
+
raise InvalidToken, 'JWT was nil' unless token
|
63
64
|
|
64
65
|
JSON::JWT.decode(token, :skip_verification).tap do |jwt|
|
65
66
|
raise InvalidToken, 'JWT iss was not located in provided whitelist' unless iss_whitelist.include?(jwt[:iss])
|
66
67
|
end
|
67
68
|
rescue JSON::JWT::InvalidFormat
|
68
|
-
raise InvalidToken, 'invalid
|
69
|
+
raise InvalidToken, 'JWT was in an invalid format'
|
69
70
|
end
|
70
71
|
end
|
71
72
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authentic-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Articulate
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-03-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json-jwt
|
@@ -35,14 +35,14 @@ dependencies:
|
|
35
35
|
name: rest-client
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.0'
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '2.0'
|
48
48
|
description: Ruby toolkit for Auth0 API https://auth0.com.
|