incline 0.2.7 → 0.2.8
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/Gemfile.lock +2 -2
- data/app/controllers/incline/sessions_controller.rb +8 -2
- data/lib/incline/auth_engine_base.rb +9 -2
- data/lib/incline/user_manager.rb +25 -4
- data/lib/incline/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96abfaafca9bf6706a2f20c026892324ed54535e
|
4
|
+
data.tar.gz: 774487236771970729fe63b66f01051c0186635b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7c8dfba5bbbb8dd7098d1a0471b369990b50f955577c4240254d7fd7aa16c7353ef25352438e5a55bd321f415d5f20fce1dbab3decf2d69537c1d0cdc5c5637
|
7
|
+
data.tar.gz: ce534a4d60ebb59f9b7c00aecb9389a23bedfb6e0f9b82fec5610e25ef8eeee3fb2cd9e42928370bedab947a4a2395bdae95bd92a934ddce46189e2b3c955eed
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
incline (0.2.
|
4
|
+
incline (0.2.8)
|
5
5
|
ansi (~> 1.5.0)
|
6
6
|
bcrypt
|
7
7
|
bootstrap-sass
|
@@ -58,7 +58,7 @@ GEM
|
|
58
58
|
tzinfo (~> 1.1)
|
59
59
|
ansi (1.5.0)
|
60
60
|
arel (6.0.4)
|
61
|
-
autoprefixer-rails (7.1.
|
61
|
+
autoprefixer-rails (7.1.3)
|
62
62
|
execjs
|
63
63
|
bcrypt (3.1.11)
|
64
64
|
bootstrap-sass (3.3.7)
|
@@ -44,8 +44,14 @@ module Incline
|
|
44
44
|
##
|
45
45
|
# DELETE /incline/logout
|
46
46
|
def destroy
|
47
|
-
|
48
|
-
|
47
|
+
# Check to see if an external auth system should be used.
|
48
|
+
auth_url = ::Incline::UserManager.end_external_authentication(request)
|
49
|
+
if auth_url.blank?
|
50
|
+
log_out if logged_in?
|
51
|
+
redirect_to main_app.root_url
|
52
|
+
else
|
53
|
+
redirect_to auth_url
|
54
|
+
end
|
49
55
|
end
|
50
56
|
|
51
57
|
end
|
@@ -18,12 +18,19 @@ module Incline
|
|
18
18
|
end
|
19
19
|
|
20
20
|
##
|
21
|
-
# The begin_external_authentication method takes a request object to determine if it should process
|
22
|
-
# return nil. If it decides to process authentication, it should return a URL to redirect to.
|
21
|
+
# The begin_external_authentication method takes a request object to determine if it should process a login
|
22
|
+
# or return nil. If it decides to process authentication, it should return a URL to redirect to.
|
23
23
|
def begin_external_authentication(request)
|
24
24
|
nil
|
25
25
|
end
|
26
26
|
|
27
|
+
##
|
28
|
+
# The end_external_authentication method takes a request object to determine if it should process a logout
|
29
|
+
# or return nil. If it decides to process authentication, it should return a URL to redirect to.
|
30
|
+
def end_external_authentication(request)
|
31
|
+
nil
|
32
|
+
end
|
33
|
+
|
27
34
|
protected
|
28
35
|
|
29
36
|
##
|
data/lib/incline/user_manager.rb
CHANGED
@@ -109,8 +109,8 @@ module Incline
|
|
109
109
|
end
|
110
110
|
|
111
111
|
##
|
112
|
-
# The begin_external_authentication method takes a request object to determine if it should process
|
113
|
-
# return nil. If it decides to process authentication, it should return a URL to redirect to.
|
112
|
+
# The begin_external_authentication method takes a request object to determine if it should process a login
|
113
|
+
# or return nil. If it decides to process authentication, it should return a URL to redirect to.
|
114
114
|
def begin_external_authentication(request)
|
115
115
|
# We don't have an email domain to work from.
|
116
116
|
# Instead, we'll call each engine's authenticate_external method.
|
@@ -124,6 +124,22 @@ module Incline
|
|
124
124
|
nil
|
125
125
|
end
|
126
126
|
|
127
|
+
##
|
128
|
+
# The end_external_authentication method takes a request object to determine if it should process a logout
|
129
|
+
# or return nil. If it decides to process authentication, it should return a URL to redirect to.
|
130
|
+
def end_external_authentication(request)
|
131
|
+
# We don't have an email domain to work from.
|
132
|
+
# Instead, we'll call each engine's authenticate_external method.
|
133
|
+
# If one of them returns a user, then we return that value and skip further processing.
|
134
|
+
auth_engines.each do |dom,engine|
|
135
|
+
unless engine.nil?
|
136
|
+
url = engine.end_external_authentication(request)
|
137
|
+
return url unless url.blank?
|
138
|
+
end
|
139
|
+
end
|
140
|
+
nil
|
141
|
+
end
|
142
|
+
|
127
143
|
##
|
128
144
|
# Attempts to authenticate the user and returns the model on success.
|
129
145
|
def self.authenticate(email, password, client_ip)
|
@@ -131,11 +147,16 @@ module Incline
|
|
131
147
|
end
|
132
148
|
|
133
149
|
##
|
134
|
-
#
|
135
|
-
# return nil. If it decides to process authentication, it should return a URL to redirect to.
|
150
|
+
# Returns a URL if an external login is to be used, or nil to use local authentication.
|
136
151
|
def self.begin_external_authentication(request)
|
137
152
|
default.begin_external_authentication request
|
138
153
|
end
|
154
|
+
|
155
|
+
##
|
156
|
+
# Returns a URL if an external logout is to be used, or nil to use local authentication.
|
157
|
+
def self.end_external_authentication(request)
|
158
|
+
default.end_external_authentication request
|
159
|
+
end
|
139
160
|
|
140
161
|
##
|
141
162
|
# Registers an authentication engine for one or more domains.
|
data/lib/incline/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: incline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Beau Barker
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -604,7 +604,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
604
604
|
version: '0'
|
605
605
|
requirements: []
|
606
606
|
rubyforge_project:
|
607
|
-
rubygems_version: 2.
|
607
|
+
rubygems_version: 2.6.11
|
608
608
|
signing_key:
|
609
609
|
specification_version: 4
|
610
610
|
summary: A gem designed to get off to an even quicker start with Rails.
|