devise_auth_proxy 0.2.7 → 0.2.12

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 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