devise_cas_authenticatable 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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.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.8)
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
- destination = request.protocol
32
- destination << request.host
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.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.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: 2012-01-05 00:00:00.000000000 Z
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: &70285889160260 !ruby/object:Gem::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: *70285889160260
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: &70285889146380 !ruby/object:Gem::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: *70285889146380
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: &70285889118960 !ruby/object:Gem::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: *70285889118960
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: &70285889058440 !ruby/object:Gem::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: *70285889058440
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: &70285888996140 !ruby/object:Gem::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: *70285888996140
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: &70285888827440 !ruby/object:Gem::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: *70285888827440
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: &70285888797720 !ruby/object:Gem::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: *70285888797720
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: &70285888698540 !ruby/object:Gem::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: *70285888698540
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: &70285881569960 !ruby/object:Gem::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: *70285881569960
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: &70285881578980 !ruby/object:Gem::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: *70285881578980
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: &70285881590360 !ruby/object:Gem::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: *70285881590360
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: &70285881587400 !ruby/object:Gem::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: *70285881587400
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: 1.8.12
264
+ rubygems_version: 2.2.0
234
265
  signing_key:
235
- specification_version: 3
266
+ specification_version: 4
236
267
  summary: CAS authentication module for Devise
237
268
  test_files:
238
269
  - spec/routes_spec.rb