casino 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +2 -0
- data/app/assets/images/favicon.png +0 -0
- data/app/assets/javascripts/casino/sessions.js +3 -3
- data/app/assets/stylesheets/casino.scss +18 -0
- data/app/models/casino/service_ticket.rb +2 -2
- data/app/views/casino/sessions/index.html.erb +2 -2
- data/app/views/casino/two_factor_authenticators/new.html.erb +1 -1
- data/app/views/layouts/application.html.erb +2 -0
- data/lib/casino/version.rb +1 -1
- data/spec/dummy/app/assets/javascripts/application.js +0 -2
- data/spec/features/session_overview_spec.rb +4 -4
- data/spec/features/two_factor_authenticator_spec.rb +31 -0
- metadata +33 -3
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
@@ -7,19 +7,19 @@
|
|
7
7
|
var serviceEl = doc.getElementById('service'),
|
8
8
|
service = serviceEl ? serviceEl.getAttribute('value') : null;
|
9
9
|
|
10
|
-
if(cookie_regex.test(
|
10
|
+
if(cookie_regex.test(doc.cookie)) {
|
11
11
|
url = '/login';
|
12
12
|
if(service) {
|
13
13
|
url += '?service=' + encodeURIComponent(service);
|
14
14
|
}
|
15
|
-
|
15
|
+
win.location = url;
|
16
16
|
} else {
|
17
17
|
setTimeout(checkCookieExists, 1000);
|
18
18
|
}
|
19
19
|
}
|
20
20
|
|
21
21
|
// Auto-login when logged-in in other browser window (9887c4e)
|
22
|
-
|
22
|
+
doc.addEventListener('DOMContentLoaded', function() {
|
23
23
|
if(ready_bound) {
|
24
24
|
return;
|
25
25
|
}
|
@@ -49,6 +49,24 @@ a {
|
|
49
49
|
}
|
50
50
|
}
|
51
51
|
|
52
|
+
form.button_to {
|
53
|
+
display: inline;
|
54
|
+
margin: 0;
|
55
|
+
padding: 0;
|
56
|
+
div { display: inline; }
|
57
|
+
input[type=submit] {
|
58
|
+
margin: 0;
|
59
|
+
padding: 0;
|
60
|
+
-webkit-appearance: caret;
|
61
|
+
background: none;
|
62
|
+
border: none;
|
63
|
+
font-size: inherit;
|
64
|
+
font-family: inherit;
|
65
|
+
cursor: pointer;
|
66
|
+
@extend a
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
52
70
|
label {
|
53
71
|
color: #4d4d4d;
|
54
72
|
display: block;
|
@@ -4,7 +4,7 @@ class CASino::ServiceTicket < ActiveRecord::Base
|
|
4
4
|
attr_accessible :ticket, :service, :issued_from_credentials
|
5
5
|
validates :ticket, uniqueness: true
|
6
6
|
belongs_to :ticket_granting_ticket
|
7
|
-
before_destroy :
|
7
|
+
before_destroy :send_single_sign_out_notification, if: :consumed?
|
8
8
|
has_many :proxy_granting_tickets, as: :granter, dependent: :destroy
|
9
9
|
|
10
10
|
def self.cleanup_unconsumed
|
@@ -35,7 +35,7 @@ class CASino::ServiceTicket < ActiveRecord::Base
|
|
35
35
|
end
|
36
36
|
|
37
37
|
private
|
38
|
-
def
|
38
|
+
def send_single_sign_out_notification
|
39
39
|
notifier = SingleSignOutNotifier.new(self)
|
40
40
|
notifier.notify
|
41
41
|
true
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<% if @two_factor_authenticators.blank? %>
|
19
19
|
<%= t('two_factor_authenticators.disabled') %> - <%= link_to t('two_factor_authenticators.enable'), new_two_factor_authenticator_path %>
|
20
20
|
<% else %>
|
21
|
-
<%= t('two_factor_authenticators.enabled') %> - <%=
|
21
|
+
<%= t('two_factor_authenticators.enabled') %> - <%= button_to t('two_factor_authenticators.disable'), two_factor_authenticator_path(@two_factor_authenticators[0].id), method: :delete %>
|
22
22
|
<% end %>
|
23
23
|
|
24
24
|
<h3><%= t('sessions.your_active_sessions') %></h3>
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<% if current_ticket_granting_ticket?(ticket_granting_ticket) %>
|
50
50
|
<strong><%= t('sessions.current_session') %></strong>
|
51
51
|
<% else %>
|
52
|
-
<%=
|
52
|
+
<%= button_to t('sessions.end_session'), session_path(ticket_granting_ticket.id), method: :delete %>
|
53
53
|
<% end %>
|
54
54
|
</td>
|
55
55
|
</tr>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<%= t('two_factor_authenticators.instructions') %>
|
12
12
|
</p>
|
13
13
|
<div id="qr-code">
|
14
|
-
<img src="https://chart.googleapis.com/chart?cht=qr&chs=250x250&chl=<%= u "otpauth://totp/#{u CASino.config.frontend[:sso_name] + ': ' + @two_factor_authenticator.user.username}?secret=#{@two_factor_authenticator.secret}" %>" height="250" width="250"><br />
|
14
|
+
<img src="https://chart.googleapis.com/chart?cht=qr&chs=250x250&chl=<%= u "otpauth://totp/#{u CASino.config.frontend[:sso_name] + ': ' + @two_factor_authenticator.user.username}?secret=#{@two_factor_authenticator.secret}&issuer=#{u CASino.config.frontend[:sso_name]}" %>" height="250" width="250"><br />
|
15
15
|
</div>
|
16
16
|
<p id="secret">
|
17
17
|
<%= t('two_factor_authenticators.secret') %>: <%= @two_factor_authenticator.secret %>
|
@@ -6,6 +6,8 @@
|
|
6
6
|
<%= stylesheet_link_tag "application", :media => "all" %>
|
7
7
|
<%= javascript_include_tag "application" %>
|
8
8
|
<%= csrf_meta_tags %>
|
9
|
+
<%= favicon_link_tag 'favicon.png', type: 'image/png' %>
|
10
|
+
<%= favicon_link_tag 'logo.png', type: 'image/png', rel: 'logo' %>
|
9
11
|
</head>
|
10
12
|
<body>
|
11
13
|
|
data/lib/casino/version.rb
CHANGED
@@ -16,7 +16,7 @@ describe 'Session overview' do
|
|
16
16
|
it { should have_text('Active Session') }
|
17
17
|
|
18
18
|
context 'without other sessions' do
|
19
|
-
it { should_not
|
19
|
+
it { should_not have_button('End session') }
|
20
20
|
end
|
21
21
|
|
22
22
|
context 'when other sessions exist' do
|
@@ -26,7 +26,7 @@ describe 'Session overview' do
|
|
26
26
|
end
|
27
27
|
visit sessions_path
|
28
28
|
end
|
29
|
-
it { should
|
29
|
+
it { should have_button('End session') }
|
30
30
|
end
|
31
31
|
|
32
32
|
context 'with two-factor authentication disabled' do
|
@@ -37,13 +37,13 @@ describe 'Session overview' do
|
|
37
37
|
visit sessions_path
|
38
38
|
end
|
39
39
|
it { should have_link('Enable', href: new_two_factor_authenticator_path) }
|
40
|
-
it { should_not
|
40
|
+
it { should_not have_button('Disable') }
|
41
41
|
end
|
42
42
|
|
43
43
|
context 'with two-factor authentication enabled' do
|
44
44
|
before { enable_two_factor_authentication }
|
45
45
|
it { should_not have_link('Enable', href: new_two_factor_authenticator_path) }
|
46
|
-
it { should
|
46
|
+
it { should have_button('Disable') }
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'TwoFactorAuthenticator' do
|
4
|
+
include CASino::Engine.routes.url_helpers
|
5
|
+
|
6
|
+
subject { page }
|
7
|
+
|
8
|
+
context 'when logged in' do
|
9
|
+
before do
|
10
|
+
sign_in
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'with two-factor authentication enabled' do
|
14
|
+
before do
|
15
|
+
enable_two_factor_authentication
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'disabling two-factor authentication' do
|
19
|
+
before do
|
20
|
+
click_button 'Disable'
|
21
|
+
end
|
22
|
+
|
23
|
+
it { should have_text 'authenticator was successfully deleted' }
|
24
|
+
|
25
|
+
it 'deletes the two-factor authenticator' do
|
26
|
+
CASino::TwoFactorAuthenticator.count.should == 0
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: casino
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,8 +10,35 @@ authors:
|
|
10
10
|
- Samuel Sieg
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
|
-
cert_chain:
|
14
|
-
|
13
|
+
cert_chain:
|
14
|
+
- !binary |-
|
15
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLakNDQWhLZ0F3SUJB
|
16
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVEwd0N3WURWUVFEREFScGJt
|
17
|
+
WnYKTVJVd0V3WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtp
|
18
|
+
YUprL0lzWkFFWkZnTmpiMjB3SGhjTgpNVE13TWpBeU1qSXlOakkyV2hjTk1U
|
19
|
+
UXdNakF5TWpJeU5qSTJXakE3TVEwd0N3WURWUVFEREFScGJtWnZNUlV3CkV3
|
20
|
+
WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtpYUprL0lzWkFF
|
21
|
+
WkZnTmpiMjB3Z2dFaU1BMEcKQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dF
|
22
|
+
S0FvSUJBUURiZG1OeTRoZU5SZUc4TFhCMm5ha3JwQXJrcVd2dwpqVm54WE1M
|
23
|
+
UzZUNXFlYmZMV2FsMVBSb1BIemJoUkdtQTN1Q1lZWXVWdVh2NlYxVm1DdG5N
|
24
|
+
MG1qM1lnTjZoNjFECkQrV25oMUtUOHNVWWhSQjM2TU50bWllclMxRWNNeXZS
|
25
|
+
dWpYUkxrNngwNkFiejliSmFkeUVXN0RTNFZrcEN6OW4KZjlNRW5IcUlseVFC
|
26
|
+
UFAzekhzRHlNclRySUJ1dkRXUHIrYUFNS3FJWExqcVdlcDFFYmQvL3BwTmNT
|
27
|
+
aVZGODdzKwplMEphRmU3LzFhbHhJUEdPYWsvY0dFdm9tNDJUTEdkUEt5dTBY
|
28
|
+
amsybi9jV1RBbEJzaEZQT1FTM2hrczZSaDhzClZ6d2owTFF2VTByaFhKV0hO
|
29
|
+
YjZXdWpLaml3c3Z6U1RsR3lkTndJRU5wckpJQVFKc2FJWDNSUUluQWdNQkFB
|
30
|
+
R2oKT1RBM01Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGS3lML1V6R1U4
|
31
|
+
SVpuZU9qcjczWFBDTFpKN1F1TUFzRwpBMVVkRHdRRUF3SUVzREFOQmdrcWhr
|
32
|
+
aUc5dzBCQVFVRkFBT0NBUUVBVUsrZnVraS9nVWhJbEpxTTI0TkNzL3kzClNv
|
33
|
+
cUNHUDB6K2M1ZytCTXUzc2MzeElOL21IK0hZbFBhRWE2V2o0YndtU1ZnVGhh
|
34
|
+
WjU0T3NtUnlaSUsxVm9BeW0KVDR6T3FDd3QwdHdUMmF6MVA2WFRoVk1FZWJM
|
35
|
+
alpEYnVRL29RelUvZkE2RFlxam5mbVlOdGdwNXFZWDZDS05Kegp3M1lSS3JL
|
36
|
+
Mlg2cVlZSGNISS9LTDV3YzFET24rVU5VNGVmbVAwVlZkNVVOZlI0MElCTE50
|
37
|
+
eFg5Nlg5WVRYT0hFCndRc0xpK0xqbnorVWFPUmsxZHhabGNYWUdjMzR3Rmcx
|
38
|
+
b1VSdnUwRzgvWXlIVUFtSVUvV0tyanIxYmdjZjFWUnYKUjRLRDFNblVWL3Y1
|
39
|
+
MDJwaU1sWG1qeE9XZGJLOHl2UUVIa3N1L3pqYkNqU3UrTTJrd0ZtV0dzeDVu
|
40
|
+
eCtWZHc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
41
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
15
42
|
dependencies:
|
16
43
|
- !ruby/object:Gem::Dependency
|
17
44
|
name: capybara
|
@@ -275,6 +302,7 @@ files:
|
|
275
302
|
- app/assets/fonts/casino-icons.svg
|
276
303
|
- app/assets/fonts/casino-icons.ttf
|
277
304
|
- app/assets/fonts/casino-icons.woff
|
305
|
+
- app/assets/images/favicon.png
|
278
306
|
- app/assets/images/logo.png
|
279
307
|
- app/assets/images/logo@2x.png
|
280
308
|
- app/assets/images/rails.png
|
@@ -455,6 +483,7 @@ files:
|
|
455
483
|
- spec/features/login_spec.rb
|
456
484
|
- spec/features/logout_spec.rb
|
457
485
|
- spec/features/session_overview_spec.rb
|
486
|
+
- spec/features/two_factor_authenticator_spec.rb
|
458
487
|
- spec/model/login_ticket_spec.rb
|
459
488
|
- spec/model/proxy_ticket_spec.rb
|
460
489
|
- spec/model/service_rule_spec.rb
|
@@ -583,6 +612,7 @@ test_files:
|
|
583
612
|
- spec/features/login_spec.rb
|
584
613
|
- spec/features/logout_spec.rb
|
585
614
|
- spec/features/session_overview_spec.rb
|
615
|
+
- spec/features/two_factor_authenticator_spec.rb
|
586
616
|
- spec/model/login_ticket_spec.rb
|
587
617
|
- spec/model/proxy_ticket_spec.rb
|
588
618
|
- spec/model/service_rule_spec.rb
|
metadata.gz.sig
ADDED
Binary file
|