devise_auth0_jwt_strategy 0.0.3 → 0.0.4
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/devise_auth0_jwt_strategy/railtie.rb +8 -13
- data/lib/devise_auth0_jwt_strategy/strategy.rb +11 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5917148c69393621cbb0e71e5c48345d99072cc
|
4
|
+
data.tar.gz: 09fca6b9df9478685e83adb8cfa753147bb5cb2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96521a073804664cb7e9c36138f107f172433b2c7b4891a6256c1c9ef1e3f0c831aaca6b972e971874dd349a7a76dcf02527bb763c0cd4e50784e79176d7189e
|
7
|
+
data.tar.gz: 3fbb4fa9fb8a0d131d3c7d28efe5660c960ed2496ad778908f84a38a1d3908dc0d2c7f2bc97c2459fe3a026fa26e23a33c485be2668d884f2d2dd2afb95cceab
|
@@ -1,26 +1,21 @@
|
|
1
1
|
module DeviseAuth0JwtStrategy
|
2
2
|
class Railtie < Rails::Railtie
|
3
|
-
|
4
|
-
config.after_initialize do
|
3
|
+
initializer "devise_auth0_jwt_strategy.configure_rails_initialization" do
|
5
4
|
print "Wiring up Auth0 JWT Devise Strategy..."
|
6
|
-
if ENV['AUTH0_CLIENT_SECRET']
|
7
5
|
|
8
|
-
|
6
|
+
::Devise.setup do |config|
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
end
|
8
|
+
config.warden do |manager|
|
9
|
+
manager.strategies.add(:auth0jwt, ::Devise::Strategies::Auth0Jwt)
|
10
|
+
manager.default_strategies(:scope => :user).unshift :auth0jwt
|
14
11
|
|
12
|
+
puts manager.default_strategies(:scope => :user).inspect
|
15
13
|
end
|
16
14
|
|
17
|
-
print "done.\n"
|
18
|
-
|
19
|
-
else
|
20
|
-
print " no Auth0 Secret Found. Skipping...\n"
|
21
|
-
|
22
15
|
end
|
23
16
|
|
17
|
+
print "done.\n"
|
18
|
+
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
@@ -48,16 +48,26 @@ module Devise
|
|
48
48
|
|
49
49
|
def authenticate!
|
50
50
|
|
51
|
+
if ENV['DEBUG_AUTH0_JWT']
|
52
|
+
STDERR.puts ">>>>>>>>>>>>>>> DEBUG AUTH0 JWT"
|
53
|
+
STDERR.puts "valid? #{valid?}"
|
54
|
+
STDERR.puts @jwt_token
|
55
|
+
end
|
56
|
+
|
51
57
|
if valid?
|
52
58
|
# This will throw JWT::DecodeError if it fails
|
53
59
|
payload, header = ::JWT.decode(@jwt_token,
|
54
60
|
::JWT.base64url_decode(auth0_client_secret))
|
55
61
|
|
62
|
+
STDERR.puts payload.inspect if ENV['DEBUG_AUTH0_JWT']
|
63
|
+
|
56
64
|
raise ClaimInvalid.new('JWT has the wrong client id') unless payload['aud'] == auth0_client_id
|
57
65
|
raise ClaimInvalid.new('JWT has expired') unless payload['exp'].to_i > Time.now.to_i
|
58
66
|
|
59
67
|
u = ::User.find_by_email(payload['email'])
|
60
68
|
|
69
|
+
STDERR.puts "payload['email']=#{payload['email']} user.email=#{u.try(:email)}"
|
70
|
+
|
61
71
|
u.nil? ? fail!("Could not log in") : success!(u)
|
62
72
|
|
63
73
|
else
|
@@ -69,7 +79,7 @@ module Devise
|
|
69
79
|
fail! e.message
|
70
80
|
|
71
81
|
rescue ::JWT::DecodeError => e
|
72
|
-
puts "JWT::DecodeError -- #{e.message}"
|
82
|
+
STDERR.puts "JWT::DecodeError -- #{e.message}"
|
73
83
|
fail!("JWT token is invalid. Please get a new token and try again.")
|
74
84
|
end
|
75
85
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_auth0_jwt_strategy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick McGraw
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.0
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.0
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.4
|
33
|
+
version: '3.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.4
|
40
|
+
version: '3.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|