devise_auth_proxy 0.2.7 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e7771d5273e4be4be1c5c5eb31433b934b8637a585a0c8b52e15699de6fc336
4
- data.tar.gz: cba53271ec2c75de72e6b8a7d128fabb4a5aecfd6bac6ba1da863ee5a456b8be
3
+ metadata.gz: e7a171ab0bda47942e6456c5fb3805b7f6a808560edaf7a5296233721c095955
4
+ data.tar.gz: 75a637d6010f82c0a7ac2490b74c96747f299679953e4af2ef1cda42ef42bf40
5
5
  SHA512:
6
- metadata.gz: 790b2b1f65351ebb37ad0d7c91b9cc444b613741c977fafb80f9ab0820dfe9fc0913c3bcb9653fbbe5394f22d8d0917fcb9a2c767909abe14e2e03fd0369ae27
7
- data.tar.gz: e47cc166fa4d07e6cd6de3c930e65d81b2a594b54280832b8f36d683724d5bb1200ea191eabd154bac8eb7e0c5027b322b6c6a01a11147cf6364af361a0d116e
6
+ metadata.gz: 78d177ed2ee869ae1ce29c02b73d86fa9ba60d1e0860f440980c6d888453d7b91f94300cd236b48ef331e5ccf8a610903b09e569c460cf65e02b991985096d7d
7
+ data.tar.gz: a051a30029dbd0bee7083ac75879bec88fee54c5bf3377cf41a27ed689b12c714c48618757b0cdb65c6889f749a8bc6eb53825360b50724173f1e6165163dd56
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devise_auth_proxy (0.2.7)
4
+ devise_auth_proxy (0.2.12)
5
5
  devise
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -33,8 +33,9 @@ Configuration options:
33
33
  * `auto_update` - Boolean (default: false). Whether to auto-update authenticated user attributes from proxy user attributes.
34
34
  * `default_role` - List (default: []). A list of role default for new user. If your application integrate with CanCan of something like that.
35
35
  * `logout_service` - String. A service to handle logout session.
36
+ * `skip_session` - Boolean (default: false). To skip storage login session.
36
37
  * `logout_url` - String (default: '/'). For redirecting to a proxy user logout URL after signing out of the Rails application. Include DeviseAuthProxy::ControllerBehavior in your application controller to enable (by overriding Devise's after_sign_out_path_for).
37
-
38
+ * `specific_database` - String (default: :disable). For setting a specific database to authenticate.
38
39
 
39
40
  Set options in a Rails initializer (e.g., `config/intializers/devise.rb`):
40
41
 
@@ -48,7 +49,9 @@ DeviseAuthProxy.configure do |config|
48
49
  config.attribute_map = { email: 'mail' }
49
50
  config.default_role = ['role_name / role_id']
50
51
  config.logout_service = '<service name>'
52
+ config.skip_session = true
51
53
  config.logout_url = "http://localhost:3000/logout"
54
+ config.specific_database = 'login_database'
52
55
  end
53
56
  ```
54
57
 
@@ -5,7 +5,7 @@ module DeviseAuthProxy
5
5
  class << self
6
6
  attr_accessor :env_key, :auto_create, :auto_update, :auth_key,
7
7
  :attribute_map, :default_role, :logout_service, :logout_url,
8
- :http_cookie
8
+ :skip_session, :specific_database
9
9
  end
10
10
 
11
11
  # request.env key for remote user name
@@ -36,7 +36,11 @@ module DeviseAuthProxy
36
36
  # (it overrides Devise's after_sign_out_path_for method).
37
37
  self.logout_url = '/'
38
38
 
39
- self.http_cookie = nil
39
+ # To skip storage login session. Default is false.
40
+ self.skip_session = false
41
+
42
+ # To use a specific database for authenticate.
43
+ self.specific_database = :disable
40
44
 
41
45
  def self.configure
42
46
  yield self
@@ -9,12 +9,14 @@ module DeviseAuthProxy
9
9
  unless DeviseAuthProxy.logout_service.nil?
10
10
  case DeviseAuthProxy.logout_service
11
11
  when 'foss_identity'
12
- Service::FossIdentity.sign_out(DeviseAuthProxy.logout_url, DeviseAuthProxy.http_cookie)
12
+ Service::FossIdentity.sign_out(DeviseAuthProxy.logout_url, self.request.env['HTTP_COOKIE'])
13
13
  else
14
14
  # do nothing
15
15
  end
16
16
  end
17
17
 
18
+ return self.request.env['HTTP_REFERER'] if self.request.env['HTTP_REFERER']
19
+
18
20
  super
19
21
  end
20
22
  end
@@ -23,11 +23,23 @@ module DeviseAuthProxy
23
23
  end
24
24
 
25
25
  def find_user
26
+ if DeviseAuthProxy.specific_database != :disable
27
+ klass.with(client: DeviseAuthProxy.specific_database) do |admin|
28
+ return admin.where(user_criterion).first
29
+ end
30
+ end
31
+
26
32
  klass.where(user_criterion).first
27
33
  end
28
34
 
29
35
  def create_user
30
36
  unless Devise.mappings[:admin_user].strategies.include?(:database_authenticatable)
37
+ if DeviseAuthProxy.specific_database != :disable
38
+ klass.with(client: DeviseAuthProxy.specific_database) do |admin|
39
+ return admin.create(user_criterion)
40
+ end
41
+ end
42
+
31
43
  return klass.create(user_criterion)
32
44
  end
33
45
 
@@ -38,7 +50,11 @@ module DeviseAuthProxy
38
50
  roles: DeviseAuthProxy.default_role
39
51
  })
40
52
 
41
-
53
+ if DeviseAuthProxy.specific_database != :disable
54
+ klass.with(client: DeviseAuthProxy.specific_database) do |admin|
55
+ return admin.create(attrs)
56
+ end
57
+ end
42
58
  klass.create(attrs)
43
59
  end
44
60
 
@@ -13,11 +13,14 @@ module Devise
13
13
 
14
14
  return fail(:invalid) unless resource
15
15
 
16
- DeviseAuthProxy.http_cookie = env["HTTP_COOKIE"]
17
16
  # remember_me(resource)
18
17
  success!(resource)
19
18
  end
20
19
 
20
+ def store?
21
+ !DeviseAuthProxy.skip_session
22
+ end
23
+
21
24
  end
22
25
  end
23
26
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseAuthProxy
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.12"
3
3
  end
@@ -6,11 +6,12 @@ module Service
6
6
  module_function
7
7
 
8
8
  def sign_out(path, cookie)
9
- Net::HTTP.post(
9
+ resp = Net::HTTP.post(
10
10
  URI(path),
11
11
  nil,
12
- "cookie" => cookie
12
+ "Cookie" => cookie
13
13
  )
14
+ resp
14
15
  end
15
16
  end
16
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_auth_proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - QuangTK
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-01 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise