devise_cas_authenticatable 1.0.0 → 1.0.1
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 +7 -0
- data/Gemfile.lock +2 -2
- data/app/controllers/devise/cas_sessions_controller.rb +43 -6
- data/devise_cas_authenticatable.gemspec +1 -1
- data/lib/devise_cas_authenticatable.rb +10 -1
- metadata +94 -63
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4802438427502187764340e8d56cf908ee07ab47
|
4
|
+
data.tar.gz: 102f8c610d852576aeabcf993ccdcf5cfe1afe78
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0c9e3d4c11c0db81b7a89ac49c31a0bcf817e64e0c2d4a0c23af07374ff15c23d6bd21f43883fb85dee7899afdb9535b23881e12ef751b24b63667ee90c358e6
|
7
|
+
data.tar.gz: c5a8f955b0a8560a7ee7792307c91d412648e344112e569cab0927abc52782ca6d2b3400800fba1f16ee8e554e8d03815453b1205ec962f8e17448bbf9be754d
|
data/Gemfile.lock
CHANGED
@@ -14,7 +14,7 @@ GIT
|
|
14
14
|
PATH
|
15
15
|
remote: .
|
16
16
|
specs:
|
17
|
-
devise_cas_authenticatable (1.0.
|
17
|
+
devise_cas_authenticatable (1.0.1)
|
18
18
|
devise (>= 1.0.6)
|
19
19
|
rubycas-client (>= 2.2.1)
|
20
20
|
|
@@ -140,7 +140,7 @@ GEM
|
|
140
140
|
rspec (~> 2.7.0)
|
141
141
|
ruby_parser (2.3.1)
|
142
142
|
sexp_processor (~> 3.0)
|
143
|
-
rubycas-client (2.3.
|
143
|
+
rubycas-client (2.3.9)
|
144
144
|
activesupport
|
145
145
|
rubyzip (0.9.4)
|
146
146
|
selenium-webdriver (2.13.0)
|
@@ -28,12 +28,8 @@ class Devise::CasSessionsController < Devise::SessionsController
|
|
28
28
|
else
|
29
29
|
reset_session
|
30
30
|
end
|
31
|
-
|
32
|
-
|
33
|
-
destination << ":#{request.port.to_s}" unless request.port == 80
|
34
|
-
destination << after_sign_out_path_for(resource_name)
|
35
|
-
follow_url = destination
|
36
|
-
redirect_to(::Devise.cas_client.logout_url(destination, follow_url))
|
31
|
+
|
32
|
+
redirect_to(logout_url)
|
37
33
|
end
|
38
34
|
|
39
35
|
def single_sign_out
|
@@ -94,4 +90,45 @@ class Devise::CasSessionsController < Devise::SessionsController
|
|
94
90
|
::Devise.cas_client.add_service_to_login_url(::Devise.cas_service_url(request.url, devise_mapping))
|
95
91
|
end
|
96
92
|
helper_method :cas_login_url
|
93
|
+
|
94
|
+
def request_url
|
95
|
+
return @request_url if @request_url
|
96
|
+
@request_url = request.protocol.dup
|
97
|
+
@request_url << request.host
|
98
|
+
@request_url << ":#{request.port.to_s}" unless request.port == 80
|
99
|
+
@request_url
|
100
|
+
end
|
101
|
+
|
102
|
+
def destination_url
|
103
|
+
return unless ::Devise.cas_logout_url_param == 'destination'
|
104
|
+
if !::Devise.cas_destination_url.blank?
|
105
|
+
url = Devise.cas_destination_url
|
106
|
+
else
|
107
|
+
url = request_url.dup
|
108
|
+
url << after_sign_out_path_for(resource_name)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
def follow_url
|
113
|
+
return unless ::Devise.cas_logout_url_param == 'follow'
|
114
|
+
if !::Devise.cas_follow_url.blank?
|
115
|
+
url = Devise.cas_follow_url
|
116
|
+
else
|
117
|
+
url = request_url.dup
|
118
|
+
url << after_sign_out_path_for(resource_name)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
def service_url
|
123
|
+
::Devise.cas_service_url(request_url.dup, devise_mapping)
|
124
|
+
end
|
125
|
+
|
126
|
+
def logout_url
|
127
|
+
begin
|
128
|
+
::Devise.cas_client.logout_url(destination_url, follow_url, service_url)
|
129
|
+
rescue ArgumentError
|
130
|
+
# Older rubycas-clients don't accept a service_url
|
131
|
+
::Devise.cas_client.logout_url(destination_url, follow_url)
|
132
|
+
end
|
133
|
+
end
|
97
134
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{devise_cas_authenticatable}
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Nat Budin", "Jeremy Haile"]
|
@@ -41,6 +41,15 @@ module Devise
|
|
41
41
|
|
42
42
|
# The login URL of the CAS server. If undefined, will default based on cas_base_url.
|
43
43
|
@@cas_validate_url = nil
|
44
|
+
|
45
|
+
# The destination url for logout.
|
46
|
+
@@cas_destination_url = nil
|
47
|
+
|
48
|
+
# The follow url for logout.
|
49
|
+
@@cas_follow_url = nil
|
50
|
+
|
51
|
+
# Which url to send with logout, destination or follow. Can either be nil, destination or follow.
|
52
|
+
@@cas_logout_url_param = nil
|
44
53
|
|
45
54
|
# Should devise_cas_authenticatable enable single-sign-out? Requires use of a supported
|
46
55
|
# session_store. Currently supports active_record or redis.
|
@@ -62,7 +71,7 @@ module Devise
|
|
62
71
|
# Name of the parameter passed in the logout query
|
63
72
|
@@cas_destination_logout_param_name = nil
|
64
73
|
|
65
|
-
mattr_accessor :cas_base_url, :cas_login_url, :cas_logout_url, :cas_validate_url, :cas_create_user, :cas_destination_logout_param_name, :cas_username_column, :cas_enable_single_sign_out, :cas_single_sign_out_mapping_strategy
|
74
|
+
mattr_accessor :cas_base_url, :cas_login_url, :cas_logout_url, :cas_validate_url, :cas_destination_url, :cas_follow_url, :cas_logout_url_param, :cas_create_user, :cas_destination_logout_param_name, :cas_username_column, :cas_enable_single_sign_out, :cas_single_sign_out_mapping_strategy
|
66
75
|
|
67
76
|
def self.cas_create_user?
|
68
77
|
cas_create_user
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_cas_authenticatable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nat Budin
|
@@ -10,140 +9,176 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-07-06 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: devise
|
17
|
-
requirement:
|
18
|
-
none: false
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: 1.0.6
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
|
-
version_requirements:
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.0.6
|
26
28
|
- !ruby/object:Gem::Dependency
|
27
29
|
name: rubycas-client
|
28
|
-
requirement:
|
29
|
-
none: false
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- -
|
32
|
+
- - ">="
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: 2.2.1
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 2.2.1
|
37
42
|
- !ruby/object:Gem::Dependency
|
38
43
|
name: rails
|
39
|
-
requirement:
|
40
|
-
none: false
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
41
45
|
requirements:
|
42
|
-
- -
|
46
|
+
- - ">="
|
43
47
|
- !ruby/object:Gem::Version
|
44
48
|
version: 3.0.7
|
45
49
|
type: :development
|
46
50
|
prerelease: false
|
47
|
-
version_requirements:
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 3.0.7
|
48
56
|
- !ruby/object:Gem::Dependency
|
49
57
|
name: rspec-rails
|
50
|
-
requirement:
|
51
|
-
none: false
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
52
59
|
requirements:
|
53
|
-
- -
|
60
|
+
- - ">="
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: 2.6.1
|
56
63
|
type: :development
|
57
64
|
prerelease: false
|
58
|
-
version_requirements:
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.6.1
|
59
70
|
- !ruby/object:Gem::Dependency
|
60
71
|
name: mocha
|
61
|
-
requirement:
|
62
|
-
none: false
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
63
73
|
requirements:
|
64
|
-
- -
|
74
|
+
- - ">="
|
65
75
|
- !ruby/object:Gem::Version
|
66
76
|
version: '0'
|
67
77
|
type: :development
|
68
78
|
prerelease: false
|
69
|
-
version_requirements:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
85
|
name: shoulda
|
72
|
-
requirement:
|
73
|
-
none: false
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
74
87
|
requirements:
|
75
|
-
- -
|
88
|
+
- - ">="
|
76
89
|
- !ruby/object:Gem::Version
|
77
90
|
version: '0'
|
78
91
|
type: :development
|
79
92
|
prerelease: false
|
80
|
-
version_requirements:
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
81
98
|
- !ruby/object:Gem::Dependency
|
82
99
|
name: sqlite3-ruby
|
83
|
-
requirement:
|
84
|
-
none: false
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
85
101
|
requirements:
|
86
|
-
- -
|
102
|
+
- - ">="
|
87
103
|
- !ruby/object:Gem::Version
|
88
104
|
version: '0'
|
89
105
|
type: :development
|
90
106
|
prerelease: false
|
91
|
-
version_requirements:
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
92
112
|
- !ruby/object:Gem::Dependency
|
93
113
|
name: sham_rack
|
94
|
-
requirement:
|
95
|
-
none: false
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
96
115
|
requirements:
|
97
|
-
- -
|
116
|
+
- - ">="
|
98
117
|
- !ruby/object:Gem::Version
|
99
118
|
version: '0'
|
100
119
|
type: :development
|
101
120
|
prerelease: false
|
102
|
-
version_requirements:
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
103
126
|
- !ruby/object:Gem::Dependency
|
104
127
|
name: capybara
|
105
|
-
requirement:
|
106
|
-
none: false
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
107
129
|
requirements:
|
108
|
-
- -
|
130
|
+
- - ">="
|
109
131
|
- !ruby/object:Gem::Version
|
110
132
|
version: '0'
|
111
133
|
type: :development
|
112
134
|
prerelease: false
|
113
|
-
version_requirements:
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
114
140
|
- !ruby/object:Gem::Dependency
|
115
141
|
name: crypt-isaac
|
116
|
-
requirement:
|
117
|
-
none: false
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
118
143
|
requirements:
|
119
|
-
- -
|
144
|
+
- - ">="
|
120
145
|
- !ruby/object:Gem::Version
|
121
146
|
version: '0'
|
122
147
|
type: :development
|
123
148
|
prerelease: false
|
124
|
-
version_requirements:
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
125
154
|
- !ruby/object:Gem::Dependency
|
126
155
|
name: launchy
|
127
|
-
requirement:
|
128
|
-
none: false
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
129
157
|
requirements:
|
130
|
-
- -
|
158
|
+
- - ">="
|
131
159
|
- !ruby/object:Gem::Version
|
132
160
|
version: '0'
|
133
161
|
type: :development
|
134
162
|
prerelease: false
|
135
|
-
version_requirements:
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
136
168
|
- !ruby/object:Gem::Dependency
|
137
169
|
name: pry
|
138
|
-
requirement:
|
139
|
-
none: false
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
140
171
|
requirements:
|
141
|
-
- -
|
172
|
+
- - ">="
|
142
173
|
- !ruby/object:Gem::Version
|
143
174
|
version: '0'
|
144
175
|
type: :development
|
145
176
|
prerelease: false
|
146
|
-
version_requirements:
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
147
182
|
description: CAS authentication module for Devise
|
148
183
|
email: natbudin@gmail.com
|
149
184
|
executables: []
|
@@ -151,9 +186,9 @@ extensions: []
|
|
151
186
|
extra_rdoc_files:
|
152
187
|
- README.md
|
153
188
|
files:
|
154
|
-
- .gitignore
|
155
|
-
- .project
|
156
|
-
- .travis.yml
|
189
|
+
- ".gitignore"
|
190
|
+
- ".project"
|
191
|
+
- ".travis.yml"
|
157
192
|
- Gemfile
|
158
193
|
- Gemfile.lock
|
159
194
|
- README.md
|
@@ -209,30 +244,26 @@ files:
|
|
209
244
|
- spec/support/migrations.rb
|
210
245
|
homepage: http://github.com/nbudin/devise_cas_authenticatable
|
211
246
|
licenses: []
|
247
|
+
metadata: {}
|
212
248
|
post_install_message:
|
213
249
|
rdoc_options: []
|
214
250
|
require_paths:
|
215
251
|
- lib
|
216
252
|
required_ruby_version: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
253
|
requirements:
|
219
|
-
- -
|
254
|
+
- - ">="
|
220
255
|
- !ruby/object:Gem::Version
|
221
256
|
version: '0'
|
222
|
-
segments:
|
223
|
-
- 0
|
224
|
-
hash: -3821931593297502505
|
225
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
|
-
none: false
|
227
258
|
requirements:
|
228
|
-
- -
|
259
|
+
- - ">"
|
229
260
|
- !ruby/object:Gem::Version
|
230
261
|
version: 1.3.1
|
231
262
|
requirements: []
|
232
263
|
rubyforge_project:
|
233
|
-
rubygems_version:
|
264
|
+
rubygems_version: 2.2.0
|
234
265
|
signing_key:
|
235
|
-
specification_version:
|
266
|
+
specification_version: 4
|
236
267
|
summary: CAS authentication module for Devise
|
237
268
|
test_files:
|
238
269
|
- spec/routes_spec.rb
|