cul_omniauth 0.5.1 → 0.6.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 +5 -5
- data/app/models/concerns/cul/omniauth/abilities.rb +10 -6
- data/lib/cul/omniauth/failure_app.rb +3 -3
- data/lib/cul/omniauth/version.rb +2 -2
- data/lib/omni_auth/strategies/saml.rb +6 -3
- data/lib/omni_auth/strategies/saml/service_ticket_validator.rb +2 -2
- data/lib/tasks/cul_omniauth_tasks.rake +2 -2
- data/spec/dummy/log/test.log +0 -223
- data/spec/lib/cul/omniauth/abilities_spec.rb +26 -0
- data/spec/spec_helper.rb +1 -0
- metadata +37 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ba7cb1ccfc8d23c582583834e5d4b9147603ec694e71c0aee7db1711ed286d40
|
4
|
+
data.tar.gz: ae7336c6680dc5fb83b9f752f9228008628a01ce0813723c077e9e338caf71bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 690b6e89920318becde4cdef27fa4fcad9b747e168db1a023a324e4fbda767c2f28a1b689e2ccba408fc526109e33234efdb51d136696eec5ac80e67f584b398
|
7
|
+
data.tar.gz: 7102fba712bdbd6d464a1e87c063780f658741c80fcbfb52f7a7de21f94efb5dc291df22a1e3d56bb29b6d25457b3594790e0c319b8033a252597f98415af051
|
@@ -5,17 +5,21 @@ module Cul::Omniauth::Abilities
|
|
5
5
|
ARRAY = [].freeze
|
6
6
|
end
|
7
7
|
def initialize(user=nil, opts={})
|
8
|
-
@user = user || User.new
|
9
|
-
roles = opts[:roles] || Empty::HASH
|
10
8
|
if user
|
9
|
+
@user = user
|
10
|
+
opts = {user_id: user.uid}.merge(opts)
|
11
|
+
else
|
12
|
+
@user = User.new
|
13
|
+
end
|
14
|
+
roles = opts[:roles] || Empty::HASH
|
15
|
+
if @user
|
11
16
|
role_permissions = self.class.config.select do |role,config|
|
12
|
-
roles.include?(role) or user.role?(role)
|
17
|
+
roles.include?(role) or @user.role?(role)
|
13
18
|
end
|
14
|
-
role_permissions[:'*'] = self.class.config.fetch(:*,Empty::HASH)
|
15
|
-
opts = {user_id: user.uid}.merge(opts)
|
16
19
|
else
|
17
|
-
role_permissions = {
|
20
|
+
role_permissions = {}
|
18
21
|
end
|
22
|
+
role_permissions[:'*'] = self.class.config.fetch(:*,Empty::HASH)
|
19
23
|
role_permissions.each do |role, config|
|
20
24
|
config.fetch(:can,Empty::HASH).each do |action, conditions|
|
21
25
|
if conditions.blank?
|
@@ -12,7 +12,7 @@ class Cul::Omniauth::FailureApp < Devise::FailureApp
|
|
12
12
|
r.provider = provider || self.provider
|
13
13
|
r
|
14
14
|
end
|
15
|
-
def redirect_url
|
16
|
-
|
17
|
-
end
|
15
|
+
# def redirect_url
|
16
|
+
# user_omniauth_authorize_path(self.class.provider)
|
17
|
+
# end
|
18
18
|
end
|
data/lib/cul/omniauth/version.rb
CHANGED
@@ -79,7 +79,9 @@ module OmniAuth
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def login_url(service)
|
82
|
-
|
82
|
+
target_url = service.split('?').first
|
83
|
+
parms = { TARGET: target_url }
|
84
|
+
cas_url + append_params(options.login_url, parms)
|
83
85
|
end
|
84
86
|
def logout_url(service)
|
85
87
|
cas_url + append_params(options.logout_url, { service: service})
|
@@ -117,9 +119,10 @@ module OmniAuth
|
|
117
119
|
end
|
118
120
|
|
119
121
|
def service_validate_url(service_url, ticket)
|
120
|
-
|
122
|
+
target_url = service_url.split('?').first
|
123
|
+
|
121
124
|
parms = {
|
122
|
-
TARGET:
|
125
|
+
TARGET: target_url
|
123
126
|
# service: service_url,
|
124
127
|
# ticket: ticket
|
125
128
|
}
|
@@ -8,7 +8,7 @@ module OmniAuth
|
|
8
8
|
class ServiceTicketValidator < OmniAuth::Strategies::CAS::ServiceTicketValidator
|
9
9
|
ART_TEMPLATE = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
|
10
10
|
"<SOAP-ENV:Header/><SOAP-ENV:Body>" +
|
11
|
-
"<samlp:Request IssueInstant=\"%s\" MajorVersion=\"1\" MinorVersion=\"1\" xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\">" +
|
11
|
+
"<samlp:Request IssueInstant=\"%s\" RequestID=\"%s\" MajorVersion=\"1\" MinorVersion=\"1\" xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\">" +
|
12
12
|
"<samlp:AssertionArtifact>%s</samlp:AssertionArtifact>" +
|
13
13
|
"</samlp:Request>" +
|
14
14
|
"</SOAP-ENV:Body>" +
|
@@ -52,7 +52,7 @@ module OmniAuth
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
def get_service_request_body
|
55
|
-
ART_TEMPLATE % [Time.now.utc.iso8601(3), @ticket]
|
55
|
+
ART_TEMPLATE % [Time.now.utc.iso8601(3), SecureRandom.hex(16), @ticket]
|
56
56
|
end
|
57
57
|
# retrieves the `<sprot:Response>` XML from the CAS server
|
58
58
|
def get_service_response_body
|
@@ -22,8 +22,8 @@ namespace :cul_omniauth do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
rescue LoadError => e
|
25
|
-
|
26
|
-
|
25
|
+
# https://github.com/rspec/rspec-core/issues/1638
|
26
|
+
# rspec is not available
|
27
27
|
end
|
28
28
|
desc "Execute specs with coverage"
|
29
29
|
task :coverage do
|
data/spec/dummy/log/test.log
CHANGED
@@ -1,226 +1,3 @@
|
|
1
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2
|
-
---------------------------
|
3
|
-
CulOmniauthTest: test_truth
|
4
|
-
---------------------------
|
5
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
6
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
7
|
-
---------------------------
|
8
|
-
CulOmniauthTest: test_truth
|
9
|
-
---------------------------
|
10
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
11
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
12
|
-
---------------------------
|
13
|
-
CulOmniauthTest: test_truth
|
14
|
-
---------------------------
|
15
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
16
|
-
[1m[36m (0.2ms)[0m [1mbegin transaction[0m
|
17
|
-
------------------------------------------------------------------
|
18
|
-
OmniAuth::Strategies::WIND::ServiceTicketValidatorTest: test_truth
|
19
|
-
------------------------------------------------------------------
|
20
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
21
|
-
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22
|
-
---------------------------
|
23
|
-
CulOmniauthTest: test_truth
|
24
|
-
---------------------------
|
25
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
26
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
27
|
-
----------------------------------------------------------------------------
|
28
|
-
OmniAuth::Strategies::WIND::ServiceTicketValidatorTest: test_success_parsing
|
29
|
-
----------------------------------------------------------------------------
|
30
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
31
|
-
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
32
|
-
------------------------------------------------------------------
|
33
|
-
OmniAuth::Strategies::WIND::ServiceTicketValidatorTest: test_truth
|
34
|
-
------------------------------------------------------------------
|
35
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
36
|
-
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
37
|
-
---------------------------
|
38
|
-
CulOmniauthTest: test_truth
|
39
|
-
---------------------------
|
40
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
41
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
42
|
-
---------------------------
|
43
|
-
CulOmniauthTest: test_truth
|
44
|
-
---------------------------
|
45
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
46
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
47
|
-
---------------------------
|
48
|
-
CulOmniauthTest: test_truth
|
49
|
-
---------------------------
|
50
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
51
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
52
|
-
---------------------------
|
53
|
-
CulOmniauthTest: test_truth
|
54
|
-
---------------------------
|
55
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
56
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
57
|
-
---------------------------
|
58
|
-
CulOmniauthTest: test_truth
|
59
|
-
---------------------------
|
60
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
61
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
62
|
-
---------------------------
|
63
|
-
CulOmniauthTest: test_truth
|
64
|
-
---------------------------
|
65
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
66
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
67
|
-
---------------------------
|
68
|
-
CulOmniauthTest: test_truth
|
69
|
-
---------------------------
|
70
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
71
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
72
|
-
---------------------------
|
73
|
-
CulOmniauthTest: test_truth
|
74
|
-
---------------------------
|
75
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
76
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
77
|
-
---------------------------------------------------
|
78
|
-
CulOmniauthTest: test_FailureApp_provider_overrides
|
79
|
-
---------------------------------------------------
|
80
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
81
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
82
|
-
----------------------------
|
83
|
-
CulOmniauthTest: test_module
|
84
|
-
----------------------------
|
85
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
86
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
87
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
88
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
89
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
90
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
91
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
92
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
93
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
94
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
95
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
96
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
97
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
98
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
99
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
100
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
101
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
102
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
103
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
104
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
105
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
106
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
107
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
108
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
109
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
110
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
111
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
112
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
113
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
114
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
115
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
116
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
117
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
118
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
119
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
120
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
121
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
122
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
123
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
124
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
125
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
126
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
127
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
128
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
129
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
130
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
131
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
132
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
133
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
134
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
135
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
136
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
137
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
138
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
139
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
140
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
141
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
142
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
143
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
144
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
145
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
146
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
147
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
148
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
149
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
150
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
151
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
152
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
153
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
154
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
155
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
156
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
157
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
158
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
159
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
160
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
161
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
162
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
163
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
164
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
165
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
166
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
167
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
168
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
169
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
170
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
171
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
172
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
173
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
174
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
175
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
176
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
177
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
178
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
179
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
180
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
181
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
182
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
183
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
184
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
185
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
186
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
187
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
188
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
189
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
190
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
191
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
192
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
193
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
194
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
195
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
196
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
197
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
198
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
199
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
200
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
201
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
202
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
203
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
204
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
205
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
206
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
207
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
208
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
209
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
210
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
211
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
212
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
213
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
214
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
215
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
216
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
217
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
218
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
219
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
220
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
221
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
222
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
223
|
-
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
224
1
|
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
225
2
|
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
226
3
|
no persisted user for id {"uid"=>"foo", "extra"=>{}}
|
@@ -163,4 +163,30 @@ describe Cul::Omniauth::Abilities do
|
|
163
163
|
end
|
164
164
|
end
|
165
165
|
end
|
166
|
+
|
167
|
+
context "with no user" do
|
168
|
+
let(:current_user) { nil }
|
169
|
+
let(:rules) do
|
170
|
+
YAML.load(fixture('test/role_config/members.yml').read)['_all_environments']
|
171
|
+
end
|
172
|
+
before do
|
173
|
+
Ability.instance_variable_set :@role_proxy_config, symbolize_hash_keys(rules)
|
174
|
+
rig.instance_variable_set :@current_ability, nil
|
175
|
+
end
|
176
|
+
after do
|
177
|
+
Ability.instance_variable_set :@role_proxy_config, nil
|
178
|
+
end
|
179
|
+
subject do
|
180
|
+
rig.current_ability
|
181
|
+
end
|
182
|
+
it "has abilities of *" do
|
183
|
+
expect(subject.can? :index, proxy).to be
|
184
|
+
end
|
185
|
+
it "has abilities of roles with member *" do
|
186
|
+
expect(subject.can? :download, proxy).to be
|
187
|
+
end
|
188
|
+
it "doesn't have unexpected abilities" do
|
189
|
+
expect(subject.can? :update, proxy).not_to be
|
190
|
+
end
|
191
|
+
end
|
166
192
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cul_omniauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- barmintor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise-guests
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: cancancan
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '2.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '2.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sqlite3
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.
|
89
|
+
version: '3.5'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.
|
96
|
+
version: '3.5'
|
97
97
|
description: Engine and model mixins for Omniauth with CAS and SSL.
|
98
98
|
email:
|
99
99
|
- LASTNAME at gmail
|
@@ -195,56 +195,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: '0'
|
197
197
|
requirements: []
|
198
|
-
|
199
|
-
rubygems_version: 2.4.6
|
198
|
+
rubygems_version: 3.0.8
|
200
199
|
signing_key:
|
201
200
|
specification_version: 4
|
202
201
|
summary: Omniauth engine for CUL web apps.
|
203
202
|
test_files:
|
204
|
-
- spec/
|
203
|
+
- spec/spec_helper.rb
|
204
|
+
- spec/dummy/app/controllers/application_controller.rb
|
205
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
205
206
|
- spec/dummy/app/assets/javascripts/application.js
|
206
207
|
- spec/dummy/app/assets/stylesheets/application.css
|
207
|
-
- spec/dummy/app/controllers/application_controller.rb
|
208
208
|
- spec/dummy/app/helpers/application_helper.rb
|
209
|
-
- spec/dummy/
|
209
|
+
- spec/dummy/bin/rake
|
210
210
|
- spec/dummy/bin/bundle
|
211
211
|
- spec/dummy/bin/rails
|
212
|
-
- spec/dummy/
|
213
|
-
- spec/dummy/config/
|
214
|
-
- spec/dummy/config/
|
215
|
-
- spec/dummy/config/database.yml
|
216
|
-
- spec/dummy/config/environment.rb
|
217
|
-
- spec/dummy/config/environments/development.rb
|
212
|
+
- spec/dummy/config/secrets.yml
|
213
|
+
- spec/dummy/config/routes.rb
|
214
|
+
- spec/dummy/config/locales/en.yml
|
218
215
|
- spec/dummy/config/environments/production.rb
|
216
|
+
- spec/dummy/config/environments/development.rb
|
219
217
|
- spec/dummy/config/environments/test.rb
|
220
|
-
- spec/dummy/config/
|
218
|
+
- spec/dummy/config/environment.rb
|
219
|
+
- spec/dummy/config/application.rb
|
220
|
+
- spec/dummy/config/database.yml
|
221
|
+
- spec/dummy/config/boot.rb
|
222
|
+
- spec/dummy/config/roles.yml
|
221
223
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
222
|
-
- spec/dummy/config/initializers/cookies_serializer.rb
|
223
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
224
|
-
- spec/dummy/config/initializers/inflections.rb
|
225
224
|
- spec/dummy/config/initializers/mime_types.rb
|
225
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
226
226
|
- spec/dummy/config/initializers/session_store.rb
|
227
227
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
228
|
-
- spec/dummy/config/
|
229
|
-
- spec/dummy/config/
|
230
|
-
- spec/dummy/config/
|
231
|
-
- spec/dummy/config/secrets.yml
|
228
|
+
- spec/dummy/config/initializers/assets.rb
|
229
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
230
|
+
- spec/dummy/config/initializers/inflections.rb
|
232
231
|
- spec/dummy/config.ru
|
233
|
-
- spec/dummy/
|
234
|
-
- spec/dummy/
|
235
|
-
- spec/dummy/public/404.html
|
232
|
+
- spec/dummy/Rakefile
|
233
|
+
- spec/dummy/public/favicon.ico
|
236
234
|
- spec/dummy/public/422.html
|
237
235
|
- spec/dummy/public/500.html
|
238
|
-
- spec/dummy/public/
|
239
|
-
- spec/dummy/
|
236
|
+
- spec/dummy/public/404.html
|
237
|
+
- spec/dummy/db/test.sqlite3
|
238
|
+
- spec/dummy/log/test.log
|
240
239
|
- spec/dummy/README.rdoc
|
241
240
|
- spec/integration/navigation_spec.rb
|
242
241
|
- spec/lib/cul/omniauth/abilities_spec.rb
|
243
242
|
- spec/lib/cul/omniauth/callbacks_spec.rb
|
244
|
-
- spec/lib/cul/omniauth/remote_ip_ability_spec.rb
|
245
243
|
- spec/lib/cul/omniauth/users/configured_roles_spec.rb
|
246
244
|
- spec/lib/cul/omniauth/users_spec.rb
|
247
|
-
- spec/lib/
|
245
|
+
- spec/lib/cul/omniauth/remote_ip_ability_spec.rb
|
248
246
|
- spec/lib/omni_auth/strategies/wind/service_ticket_validator_spec.rb
|
249
|
-
- spec/
|
250
|
-
|
247
|
+
- spec/lib/omni_auth/strategies/saml/service_ticket_validator_spec.rb
|
248
|
+
- spec/cul_omniauth_spec.rb
|