devise_auth_proxy 0.2.0 → 0.2.5

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: f48da9026374575851d42fa970741c996e24d095039cd46a044130fda595b9c2
4
- data.tar.gz: a753b83b27ca69ca517524521d1af05cffb3807a6b5e31168a0b26b35da71dba
3
+ metadata.gz: 54a12786ff44717317afaf03bca8d41aed0b3df36ec491cca13ce34838b5b7c8
4
+ data.tar.gz: 0e23049fd68046dfde43c365fe7134a55aae905c82a6aff25b365a6bbb687777
5
5
  SHA512:
6
- metadata.gz: 714c1ea62a39dab0087f874ce637cb1576c4b142a132e59f17aeed0a870d299f720041573da16f3197d7428ad8cf81dddb4979ea42dc903ba99c35b6fb3df1c4
7
- data.tar.gz: 4f3bf097a00d7610e902a789a80f03adce1fe790ca71947adeb5f5273e042afe2ca9ee97b25b316757e672e8136fcb8cb08fec976eae68bfd33bd661c95b8140
6
+ metadata.gz: 0aaeaf03058722742dc4bd87025a8571fb0951bbca6b150f57d0eacf72e66431ffac3fde17ad8174dd816c3755efe1f790d344c81b548f60f1a72a93b961fd8e
7
+ data.tar.gz: aedc16cf90e583de6dfffe619cd1caec73c3833417b22de1cb9720cf79d80f09ec4509861b4ee70cb431fdc6835d219ecdd0eae4e1876a11404f493e42ee32ef
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devise_auth_proxy (0.2.0)
4
+ devise_auth_proxy (0.2.5)
5
5
  devise
6
6
 
7
7
  GEM
@@ -3,7 +3,9 @@ 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, :default_role, :logout_url
6
+ attr_accessor :env_key, :auto_create, :auto_update, :auth_key,
7
+ :attribute_map, :default_role, :logout_service, :logout_url,
8
+ :http_cookie
7
9
  end
8
10
 
9
11
  # request.env key for remote user name
@@ -26,11 +28,16 @@ module DeviseAuthProxy
26
28
  # Set default role for new user.
27
29
  self.default_role = []
28
30
 
31
+ # Set the service using to logout.
32
+ self.logout_service = nil
33
+
29
34
  # Settings for redirecting to the remote user logout URL
30
35
  # Enable by including DeviseAuthProxy::Controllers::Helpers in ApplicationController
31
36
  # (it overrides Devise's after_sign_out_path_for method).
32
37
  self.logout_url = '/'
33
38
 
39
+ self.http_cookie = nil
40
+
34
41
  def self.configure
35
42
  yield self
36
43
  end
@@ -1,9 +1,20 @@
1
+ require 'service/foss_identity'
2
+
1
3
  module DeviseAuthProxy
2
4
  module Helper
3
5
 
4
6
  # Modify session controller after user log out.
5
7
  # To redirect user to a custom url.
6
8
  def after_sign_out_path_for(resource_or_scope)
9
+ unless DeviseAuthProxy.logout_service.nil?
10
+ case DeviseAuthProxy.logout_service
11
+ when 'foss_identity'
12
+ Service::FossIdentity.sign_out(DeviseAuthProxy.logout_url, DeviseAuthProxy.http_cookie)
13
+ else
14
+ # do nothing
15
+ end
16
+ end
17
+
7
18
  return DeviseAuthProxy.logout_url if DeviseAuthProxy.logout_url
8
19
  super
9
20
  end
@@ -13,6 +13,7 @@ module Devise
13
13
 
14
14
  return fail(:invalid) unless resource
15
15
 
16
+ DeviseAuthProxy.http_cookie = env["HTTP_COOKIE"]
16
17
  # remember_me(resource)
17
18
  success!(resource)
18
19
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseAuthProxy
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -0,0 +1,15 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+
4
+ module Service
5
+ module FossIdentity
6
+ module_function
7
+
8
+ def sign_out(path, cookie)
9
+ Net::HTTP.post(
10
+ URI(path),
11
+ "cookie" => cookie
12
+ )
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_auth_proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - QuangTK
@@ -49,6 +49,7 @@ files:
49
49
  - lib/devise_auth_proxy/model.rb
50
50
  - lib/devise_auth_proxy/strategy.rb
51
51
  - lib/devise_auth_proxy/version.rb
52
+ - lib/service/foss_identity.rb
52
53
  homepage: https://github.com/me0den/devise_auth_proxy
53
54
  licenses:
54
55
  - MIT