devise_auth_proxy 0.1.15 → 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/devise_auth_proxy/manager.rb +11 -7
- data/lib/devise_auth_proxy/model.rb +0 -1
- data/lib/devise_auth_proxy/strategy.rb +7 -2
- data/lib/devise_auth_proxy/version.rb +1 -1
- data/lib/devise_auth_proxy.rb +5 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ec0f33c365d6f3f27218240c958f5858703aa0d46d2cced83ae36a923815822
|
4
|
+
data.tar.gz: 94a0dac70f0fe5e1e8b7ed460d51f9c0dd9e326700150a7cb5a64c7db3d50434
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f700b05bda6dc7783582d50093072afe3aefeb3b1005baf3b20ffc86381fedaa4e83da3ca268c0fa41eab8e2a1d920f9a0862f3d3df9185c3a2ebc22a78957c1
|
7
|
+
data.tar.gz: a9cf4923575b3d7a986c0f9bf3290cb7e6c95932daa451426cd6c65f268cde982c334706e12ca9a97e12b791a069040667c8445b2e16209467ba8d2e3ca6183a
|
data/Gemfile.lock
CHANGED
@@ -27,31 +27,35 @@ module DeviseAuthProxy
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def create_user
|
30
|
-
unless Devise.mappings[:
|
30
|
+
unless Devise.mappings[:admin_user].strategies.include?(:database_authenticatable)
|
31
31
|
return klass.create(user_criterion)
|
32
32
|
end
|
33
33
|
|
34
34
|
random_password = SecureRandom.hex(16)
|
35
|
-
attrs = user_criterion.merge({
|
35
|
+
attrs = user_criterion.merge({
|
36
|
+
password: random_password,
|
37
|
+
password_confirmation: random_password,
|
38
|
+
roles: DeviseAuthProxy.default_role
|
39
|
+
})
|
36
40
|
klass.create(attrs)
|
37
41
|
end
|
38
42
|
|
39
43
|
def update_user(user)
|
40
|
-
user.update_attributes(
|
44
|
+
user.update_attributes(proxy_user_attributes)
|
41
45
|
end
|
42
46
|
|
43
47
|
protected
|
44
48
|
|
45
|
-
def
|
49
|
+
def proxy_user_attributes
|
46
50
|
DeviseAuthProxy.attribute_map.inject({}) { |h, (k, v)| h[k] = env[v] if env.has_key?(v); h }
|
47
51
|
end
|
48
52
|
|
49
53
|
def user_criterion
|
50
|
-
{auth_key =>
|
54
|
+
{auth_key => proxy_user_id}
|
51
55
|
end
|
52
56
|
|
53
|
-
def
|
54
|
-
DeviseAuthProxy.
|
57
|
+
def proxy_user_id
|
58
|
+
DeviseAuthProxy.proxy_user_id(env)
|
55
59
|
end
|
56
60
|
|
57
61
|
def auth_key
|
@@ -5,12 +5,17 @@ module Devise
|
|
5
5
|
class AuthProxyAuthenticatable < Authenticatable
|
6
6
|
|
7
7
|
def valid?
|
8
|
-
DeviseAuthProxy.
|
8
|
+
DeviseAuthProxy.proxy_user_id(env).present?
|
9
9
|
end
|
10
10
|
|
11
11
|
def authenticate!
|
12
12
|
resource = mapping.to.find_for_auth_proxy_authentication(env)
|
13
|
-
|
13
|
+
|
14
|
+
return fail(:invalid) unless resource
|
15
|
+
|
16
|
+
if resource.persisted?
|
17
|
+
|
18
|
+
end
|
14
19
|
end
|
15
20
|
|
16
21
|
end
|
data/lib/devise_auth_proxy.rb
CHANGED
@@ -3,7 +3,7 @@ require 'devise_auth_proxy/version'
|
|
3
3
|
|
4
4
|
module DeviseAuthProxy
|
5
5
|
class << self
|
6
|
-
attr_accessor :env_key, :auto_create, :auto_update, :auth_key, :attribute_map, :logout_url
|
6
|
+
attr_accessor :env_key, :auto_create, :auto_update, :auth_key, :attribute_map, :default_role, :logout_url
|
7
7
|
end
|
8
8
|
|
9
9
|
# request.env key for remote user name
|
@@ -23,6 +23,9 @@ module DeviseAuthProxy
|
|
23
23
|
# Map of User model attributes to request.env keys for updating a local user when auto-creation is enabled.
|
24
24
|
self.attribute_map = {}
|
25
25
|
|
26
|
+
# Set default role for new user.
|
27
|
+
self.default_role = []
|
28
|
+
|
26
29
|
# Settings for redirecting to the remote user logout URL
|
27
30
|
# Enable by including DeviseAuthProxy::Controllers::Helpers in ApplicationController
|
28
31
|
# (it overrides Devise's after_sign_out_path_for method).
|
@@ -32,7 +35,7 @@ module DeviseAuthProxy
|
|
32
35
|
yield self
|
33
36
|
end
|
34
37
|
|
35
|
-
def self.
|
38
|
+
def self.proxy_user_id(env)
|
36
39
|
case env_key
|
37
40
|
when Proc
|
38
41
|
env_key.call(env)
|