casino 1.3.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.gitignore +3 -0
  3. data/.travis.yml +1 -1
  4. data/README.md +1 -8
  5. data/Rakefile +0 -2
  6. data/app/assets/javascripts/casino/application.js +1 -0
  7. data/app/assets/javascripts/casino/index.js +0 -2
  8. data/app/assets/javascripts/casino/sessions.js +32 -0
  9. data/app/authenticators/casino/static_authenticator.rb +23 -0
  10. data/app/builders/casino/ticket_validation_response_builder.rb +84 -0
  11. data/app/controllers/casino/api/v1/tickets_controller.rb +7 -4
  12. data/app/controllers/casino/application_controller.rb +2 -3
  13. data/{lib/casino/listener/legacy_validator.rb → app/listeners/casino/legacy_validator_listener.rb} +2 -2
  14. data/app/listeners/casino/listener.rb +16 -0
  15. data/{lib/casino/listener/login_credential_acceptor.rb → app/listeners/casino/login_credential_acceptor_listener.rb} +2 -2
  16. data/{lib/casino/listener/login_credential_requestor.rb → app/listeners/casino/login_credential_requestor_listener.rb} +2 -2
  17. data/{lib/casino/listener/logout.rb → app/listeners/casino/logout_listener.rb} +2 -2
  18. data/{lib/casino/listener/other_sessions_destroyer.rb → app/listeners/casino/other_sessions_destroyer_listener.rb} +2 -2
  19. data/{lib/casino/listener/proxy_ticket_provider.rb → app/listeners/casino/proxy_ticket_provider_listener.rb} +2 -2
  20. data/{lib/casino/listener/second_factor_authentication_acceptor.rb → app/listeners/casino/second_factor_authentication_acceptor_listener.rb} +2 -2
  21. data/{lib/casino/listener/session_destroyer.rb → app/listeners/casino/session_destroyer_listener.rb} +2 -2
  22. data/{lib/casino/listener/session_overview.rb → app/listeners/casino/session_overview_listener.rb} +2 -2
  23. data/{lib/casino/listener/ticket_validator.rb → app/listeners/casino/ticket_validator_listener.rb} +2 -2
  24. data/{lib/casino/listener/two_factor_authenticator_activator.rb → app/listeners/casino/two_factor_authenticator_activator_listener.rb} +2 -2
  25. data/{lib/casino/listener/two_factor_authenticator_destroyer.rb → app/listeners/casino/two_factor_authenticator_destroyer_listener.rb} +2 -2
  26. data/{lib/casino/listener/two_factor_authenticator_overview.rb → app/listeners/casino/two_factor_authenticator_overview_listener.rb} +2 -2
  27. data/{lib/casino/listener/two_factor_authenticator_registrator.rb → app/listeners/casino/two_factor_authenticator_registrator_listener.rb} +2 -2
  28. data/app/models/casino/login_ticket.rb +12 -0
  29. data/app/models/casino/proxy_granting_ticket.rb +8 -0
  30. data/app/models/casino/proxy_ticket.rb +25 -0
  31. data/app/models/casino/service_rule.rb +27 -0
  32. data/app/models/casino/service_ticket.rb +43 -0
  33. data/app/models/casino/service_ticket/single_sign_out_notifier.rb +44 -0
  34. data/app/models/casino/ticket_granting_ticket.rb +57 -0
  35. data/app/models/casino/two_factor_authenticator.rb +18 -0
  36. data/app/models/casino/user.rb +12 -0
  37. data/app/models/casino/validation_result.rb +5 -0
  38. data/app/processors/casino/api/login_credential_acceptor_processor.rb +46 -0
  39. data/app/processors/casino/api/logout_processor.rb +17 -0
  40. data/app/processors/casino/api/service_ticket_provider_processor.rb +69 -0
  41. data/app/processors/casino/legacy_validator_processor.rb +19 -0
  42. data/app/processors/casino/login_credential_acceptor_processor.rb +63 -0
  43. data/app/processors/casino/login_credential_requestor_processor.rb +66 -0
  44. data/app/processors/casino/logout_processor.rb +23 -0
  45. data/app/processors/casino/other_sessions_destroyer_processor.rb +26 -0
  46. data/app/processors/casino/processor.rb +5 -0
  47. data/app/processors/casino/processor_concern/authentication.rb +87 -0
  48. data/app/processors/casino/processor_concern/browser.rb +14 -0
  49. data/app/processors/casino/processor_concern/login_tickets.rb +28 -0
  50. data/app/processors/casino/processor_concern/proxy_granting_tickets.rb +43 -0
  51. data/app/processors/casino/processor_concern/proxy_tickets.rb +56 -0
  52. data/app/processors/casino/processor_concern/service_tickets.rb +50 -0
  53. data/app/processors/casino/processor_concern/ticket_granting_tickets.rb +65 -0
  54. data/app/processors/casino/processor_concern/tickets.rb +17 -0
  55. data/app/processors/casino/processor_concern/two_factor_authenticators.rb +22 -0
  56. data/app/processors/casino/proxy_ticket_provider_processor.rb +41 -0
  57. data/app/processors/casino/proxy_ticket_validator_processor.rb +22 -0
  58. data/app/processors/casino/second_factor_authentication_acceptor_processor.rb +45 -0
  59. data/app/processors/casino/service_ticket_validator_processor.rb +46 -0
  60. data/app/processors/casino/session_destroyer_processor.rb +25 -0
  61. data/app/processors/casino/session_overview_processor.rb +21 -0
  62. data/app/processors/casino/two_factor_authenticator_activator_processor.rb +41 -0
  63. data/app/processors/casino/two_factor_authenticator_destroyer_processor.rb +33 -0
  64. data/app/processors/casino/two_factor_authenticator_overview_processor.rb +20 -0
  65. data/app/processors/casino/two_factor_authenticator_registrator_processor.rb +24 -0
  66. data/app/views/casino/application/_footer.html.erb +1 -1
  67. data/app/views/casino/sessions/new.html.erb +2 -1
  68. data/app/views/casino/sessions/validate_otp.html.erb +1 -1
  69. data/app/views/casino/two_factor_authenticators/new.html.erb +2 -2
  70. data/app/views/layouts/application.html.erb +1 -1
  71. data/casino.gemspec +9 -4
  72. data/db/migrate/20130809135400_create_core_schema.rb +117 -0
  73. data/db/migrate/20130809135401_rename_base_models.rb +101 -0
  74. data/db/migrate/20131022110146_cleanup_indexes.rb +27 -0
  75. data/db/migrate/20131022110246_fix_long_index_names.rb +12 -0
  76. data/db/migrate/20131022110346_change_service_to_text.rb +6 -0
  77. data/lib/casino.rb +47 -3
  78. data/lib/casino/authenticator.rb +9 -0
  79. data/lib/casino/engine.rb +26 -0
  80. data/lib/casino/inflections.rb +7 -0
  81. data/lib/casino/tasks.rb +1 -0
  82. data/lib/casino/tasks/cleanup.rake +59 -0
  83. data/lib/casino/tasks/service_rule.rake +49 -0
  84. data/lib/casino/version.rb +1 -1
  85. data/lib/generators/casino/install/USAGE +13 -0
  86. data/lib/generators/casino/install/install_generator.rb +47 -0
  87. data/lib/generators/casino/{templates → install/templates}/README +3 -4
  88. data/lib/generators/casino/{templates → install/templates}/cas.yml +2 -2
  89. data/lib/generators/casino/{templates → install/templates}/casino_and_overrides.scss +0 -0
  90. data/lib/generators/casino/templates/casino_core.rb +1 -1
  91. data/spec/authenticator/base_spec.rb +13 -0
  92. data/spec/authenticator/static_spec.rb +42 -0
  93. data/spec/controllers/api/v1/tickets_controller_spec.rb +15 -15
  94. data/spec/controllers/listener/legacy_validator_spec.rb +1 -1
  95. data/spec/controllers/listener/login_credential_acceptor_spec.rb +1 -1
  96. data/spec/controllers/listener/login_credential_requestor_spec.rb +1 -1
  97. data/spec/controllers/listener/logout_spec.rb +1 -1
  98. data/spec/controllers/listener/other_sessions_destroyer_spec.rb +1 -1
  99. data/spec/controllers/listener/proxy_ticket_provider_spec.rb +1 -1
  100. data/spec/controllers/listener/second_factor_authentication_acceptor_spec.rb +1 -1
  101. data/spec/controllers/listener/session_destroyer_spec.rb +1 -1
  102. data/spec/controllers/listener/session_overview_spec.rb +1 -1
  103. data/spec/controllers/listener/ticket_validator_spec.rb +1 -1
  104. data/spec/controllers/listener/two_factor_authenticator_activator_spec.rb +1 -1
  105. data/spec/controllers/listener/two_factor_authenticator_destroyer_spec.rb +1 -1
  106. data/spec/controllers/listener/two_factor_authenticator_overview_spec.rb +1 -1
  107. data/spec/controllers/listener/two_factor_authenticator_registrator_spec.rb +1 -1
  108. data/spec/controllers/proxy_tickets_controller_spec.rb +4 -4
  109. data/spec/controllers/service_tickets_controller_spec.rb +4 -4
  110. data/spec/controllers/sessions_controller_spec.rb +15 -15
  111. data/spec/controllers/two_factor_authenticators_controller_spec.rb +6 -6
  112. data/spec/dummy/app/assets/stylesheets/casino_and_overrides.scss +13 -0
  113. data/spec/dummy/config/cas.yml +11 -11
  114. data/spec/dummy/config/routes.rb +1 -2
  115. data/spec/dummy/db/migrate/20130910094259_create_base_models.casino.rb +95 -0
  116. data/spec/dummy/db/schema.rb +107 -0
  117. data/spec/model/login_ticket_spec.rb +23 -0
  118. data/spec/model/proxy_ticket_spec.rb +63 -0
  119. data/spec/model/service_rule_spec.rb +65 -0
  120. data/spec/model/service_ticket/single_sign_out_notifier_spec.rb +61 -0
  121. data/spec/model/service_ticket_spec.rb +124 -0
  122. data/spec/model/ticket_granting_ticket_spec.rb +204 -0
  123. data/spec/model/two_factor_authenticator_spec.rb +31 -0
  124. data/spec/processor/api/login_credential_acceptor_spec.rb +52 -0
  125. data/spec/processor/api/logout_spec.rb +34 -0
  126. data/spec/processor/api/service_ticket_provider_spec.rb +61 -0
  127. data/spec/processor/legacy_validator_spec.rb +78 -0
  128. data/spec/processor/login_credential_acceptor_spec.rb +164 -0
  129. data/spec/processor/login_credential_requestor_spec.rb +135 -0
  130. data/spec/processor/logout_other_sessions_spec.rb +53 -0
  131. data/spec/processor/logout_spec.rb +72 -0
  132. data/spec/processor/processor_concern/service_tickets_spec.rb +49 -0
  133. data/spec/processor/proxy_ticket_provider_spec.rb +66 -0
  134. data/spec/processor/proxy_ticket_validator_spec.rb +65 -0
  135. data/spec/processor/second_factor_authenticaton_acceptor_spec.rb +94 -0
  136. data/spec/processor/session_destroyer_spec.rb +75 -0
  137. data/spec/processor/session_overview_spec.rb +49 -0
  138. data/spec/processor/ticket_validator_spec.rb +199 -0
  139. data/spec/processor/two_factor_authenticator_activator_spec.rb +122 -0
  140. data/spec/processor/two_factor_authenticator_destroyer_spec.rb +71 -0
  141. data/spec/processor/two_factor_authenticator_overview_spec.rb +56 -0
  142. data/spec/processor/two_factor_authenticator_registrator_spec.rb +48 -0
  143. data/spec/spec_helper.rb +8 -19
  144. data/spec/support/casino.rb +12 -0
  145. data/spec/support/factories/login_ticket_factory.rb +16 -0
  146. data/spec/support/factories/proxy_granting_ticket_factory.rb +16 -0
  147. data/spec/support/factories/proxy_ticket_factory.rb +17 -0
  148. data/spec/support/factories/service_rule_factory.rb +16 -0
  149. data/spec/support/factories/service_ticket_factory.rb +17 -0
  150. data/spec/support/factories/ticket_granting_ticket_factory.rb +15 -0
  151. data/spec/support/factories/two_factor_authenticator_factory.rb +16 -0
  152. data/spec/support/factories/user_factory.rb +11 -0
  153. data/spec/support/rspec.rb +8 -0
  154. data/spec/support/sqlite3.rb +4 -0
  155. metadata +284 -48
  156. metadata.gz.sig +2 -0
  157. data/.powrc +0 -4
  158. data/Gemfile.lock +0 -149
  159. data/app/assets/javascripts/casino/application.js.coffee +0 -5
  160. data/app/assets/javascripts/casino/sessions.js.coffee +0 -15
  161. data/config/initializers/frontend_config.rb +0 -9
  162. data/config/initializers/inflections.rb +0 -19
  163. data/config/initializers/yaml.rb +0 -1
  164. data/lib/casino/listener.rb +0 -31
  165. data/lib/generators/casino/install_generator.rb +0 -35
  166. data/spec/dummy/config/initializers/casino_core.rb +0 -1
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ describe CASino::TwoFactorAuthenticatorRegistratorProcessor do
4
+ describe '#process' do
5
+ let(:listener) { Object.new }
6
+ let(:processor) { described_class.new(listener) }
7
+ let(:cookies) { { tgt: tgt } }
8
+
9
+ before(:each) do
10
+ listener.stub(:user_not_logged_in)
11
+ listener.stub(:two_factor_authenticator_registered)
12
+ end
13
+
14
+ context 'with an existing ticket-granting ticket' do
15
+ let(:ticket_granting_ticket) { FactoryGirl.create :ticket_granting_ticket }
16
+ let(:user) { ticket_granting_ticket.user }
17
+ let(:tgt) { ticket_granting_ticket.ticket }
18
+ let(:user_agent) { ticket_granting_ticket.user_agent }
19
+
20
+ it 'creates exactly one authenticator' do
21
+ lambda do
22
+ processor.process(cookies, user_agent)
23
+ end.should change(CASino::TwoFactorAuthenticator, :count).by(1)
24
+ end
25
+
26
+ it 'calls #two_factor_authenticator_created on the listener' do
27
+ listener.should_receive(:two_factor_authenticator_registered) do |authenticator|
28
+ authenticator.should == CASino::TwoFactorAuthenticator.last
29
+ end
30
+ processor.process(cookies, user_agent)
31
+ end
32
+
33
+ it 'creates an inactive two-factor authenticator' do
34
+ processor.process(cookies, user_agent)
35
+ CASino::TwoFactorAuthenticator.last.should_not be_active
36
+ end
37
+ end
38
+
39
+ context 'with an invalid ticket-granting ticket' do
40
+ let(:tgt) { 'TGT-lalala' }
41
+ let(:user_agent) { 'TestBrowser 1.0' }
42
+ it 'calls the #user_not_logged_in method on the listener' do
43
+ listener.should_receive(:user_not_logged_in).with(no_args)
44
+ processor.process(cookies, user_agent)
45
+ end
46
+ end
47
+ end
48
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,18 @@
1
1
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
2
  ENV["RAILS_ENV"] ||= 'test'
3
3
 
4
- require 'simplecov'
5
- SimpleCov.start 'rails'
4
+ require 'coveralls'
5
+ Coveralls.wear!
6
+
7
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
8
+ SimpleCov.start do
9
+ add_filter '/spec'
10
+ end
6
11
 
7
12
  require File.expand_path('../dummy/config/environment.rb', __FILE__)
8
13
  require 'rspec/rails'
9
14
  require 'rspec/autorun'
15
+ require 'webmock/rspec'
10
16
 
11
17
  require 'capybara/rails'
12
18
 
@@ -15,20 +21,3 @@ ENGINE_RAILS_ROOT = File.join(File.dirname(__FILE__), '../')
15
21
  # Requires supporting ruby files with custom matchers and macros, etc,
16
22
  # in spec/support/ and its subdirectories.
17
23
  Dir[File.join(ENGINE_RAILS_ROOT, 'spec/support/**/*.rb')].each {|f| require f }
18
-
19
- RSpec.configure do |config|
20
- config.use_transactional_fixtures = true
21
-
22
- # If true, the base class of anonymous controllers will be inferred
23
- # automatically. This will be the default behavior in future versions of
24
- # rspec-rails.
25
- config.infer_base_class_for_anonymous_controllers = false
26
-
27
- # Run specs in random order to surface order dependencies. If you find an
28
- # order dependency and want to debug it, you can fix the order by providing
29
- # the seed, which is printed after each run.
30
- # --seed 1234
31
- config.order = 'random'
32
-
33
- config.before(:each, type: :controller) { @routes = CASino::Engine.routes }
34
- end
@@ -0,0 +1,12 @@
1
+ require 'active_support/core_ext/hash/deep_dup'
2
+
3
+ RSpec.configure do |config|
4
+ config.before do
5
+ @base_config = CASino.config.deep_dup
6
+ end
7
+
8
+ config.after do
9
+ CASino.config.clear
10
+ CASino.config.merge! @base_config
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :login_ticket, class: CASino::LoginTicket do
5
+ sequence :ticket do |n|
6
+ "LT-ticket#{n}"
7
+ end
8
+
9
+ trait :consumed do
10
+ consumed true
11
+ end
12
+ trait :expired do
13
+ created_at 601.seconds.ago
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :proxy_granting_ticket, class: CASino::ProxyGrantingTicket do
5
+ association :granter, factory: :service_ticket
6
+ sequence :ticket do |n|
7
+ "PGT-ticket#{n}"
8
+ end
9
+ sequence :iou do |n|
10
+ "PGTIOU-ticket#{n}"
11
+ end
12
+ sequence :pgt_url do |n|
13
+ "https://www#{n}.example.org/pgtUrl"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :proxy_ticket, class: CASino::ProxyTicket do
5
+ proxy_granting_ticket
6
+ sequence :ticket do |n|
7
+ "PT-ticket#{n}"
8
+ end
9
+ sequence :service do |n|
10
+ "imaps://mail#{n}.example.org/"
11
+ end
12
+
13
+ trait :consumed do
14
+ consumed true
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :service_rule, class: CASino::ServiceRule do
5
+ sequence :order do |n|
6
+ n
7
+ end
8
+ sequence :name do |n|
9
+ "Rule #{n}"
10
+ end
11
+
12
+ trait :regex do
13
+ regex true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :service_ticket, class: CASino::ServiceTicket do
5
+ ticket_granting_ticket
6
+ sequence :ticket do |n|
7
+ "ST-ticket#{n}"
8
+ end
9
+ sequence :service do |n|
10
+ "http://www#{n}.example.org/"
11
+ end
12
+
13
+ trait :consumed do
14
+ consumed true
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :ticket_granting_ticket, class: CASino::TicketGrantingTicket do
5
+ user
6
+ sequence :ticket do |n|
7
+ "TGC-ticket#{n}"
8
+ end
9
+ user_agent 'TestBrowser 1.0'
10
+
11
+ trait :awaiting_two_factor_authentication do
12
+ awaiting_two_factor_authentication true
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ require 'factory_girl'
2
+ require 'rotp'
3
+
4
+ FactoryGirl.define do
5
+ factory :two_factor_authenticator, class: CASino::TwoFactorAuthenticator do
6
+ user
7
+ secret do
8
+ ROTP::Base32.random_base32
9
+ end
10
+ active true
11
+
12
+ trait :inactive do
13
+ active false
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :user, class: CASino::User do
5
+ authenticator 'test'
6
+ sequence(:username) do |n|
7
+ "test#{n}"
8
+ end
9
+ extra_attributes({ fullname: "Test User", age: 15, roles: [:user] })
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ RSpec.configure do |config|
2
+ config.use_transactional_fixtures = true
3
+ config.infer_base_class_for_anonymous_controllers = false
4
+ config.treat_symbols_as_metadata_keys_with_true_values = true
5
+ config.run_all_when_everything_filtered = true
6
+ config.filter_run focus: true
7
+ config.order = 'random'
8
+ end
@@ -0,0 +1,4 @@
1
+ root_path = File.join(File.dirname(__FILE__), '..')
2
+ schema_path = File.join(root_path, 'dummy', 'db')
3
+
4
+ load File.join(schema_path, 'schema.rb')
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: 1.3.2
4
+ version: 2.0.0
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
- date: 2013-06-28 00:00:00.000000000 Z
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-10-29 00:00:00.000000000 Z
15
42
  dependencies:
16
43
  - !ruby/object:Gem::Dependency
17
44
  name: capybara
@@ -78,13 +105,13 @@ dependencies:
78
105
  - !ruby/object:Gem::Version
79
106
  version: '2.0'
80
107
  - !ruby/object:Gem::Dependency
81
- name: simplecov
108
+ name: sqlite3
82
109
  requirement: !ruby/object:Gem::Requirement
83
110
  none: false
84
111
  requirements:
85
112
  - - ~>
86
113
  - !ruby/object:Gem::Version
87
- version: '0.7'
114
+ version: '1.3'
88
115
  type: :development
89
116
  prerelease: false
90
117
  version_requirements: !ruby/object:Gem::Requirement
@@ -92,15 +119,15 @@ dependencies:
92
119
  requirements:
93
120
  - - ~>
94
121
  - !ruby/object:Gem::Version
95
- version: '0.7'
122
+ version: '1.3'
96
123
  - !ruby/object:Gem::Dependency
97
- name: sqlite3
124
+ name: factory_girl
98
125
  requirement: !ruby/object:Gem::Requirement
99
126
  none: false
100
127
  requirements:
101
128
  - - ~>
102
129
  - !ruby/object:Gem::Version
103
- version: '1.3'
130
+ version: '4.1'
104
131
  type: :development
105
132
  prerelease: false
106
133
  version_requirements: !ruby/object:Gem::Requirement
@@ -108,7 +135,39 @@ dependencies:
108
135
  requirements:
109
136
  - - ~>
110
137
  - !ruby/object:Gem::Version
111
- version: '1.3'
138
+ version: '4.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: webmock
141
+ requirement: !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ~>
145
+ - !ruby/object:Gem::Version
146
+ version: '1.9'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ~>
153
+ - !ruby/object:Gem::Version
154
+ version: '1.9'
155
+ - !ruby/object:Gem::Dependency
156
+ name: coveralls
157
+ requirement: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ~>
161
+ - !ruby/object:Gem::Version
162
+ version: '0.7'
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ~>
169
+ - !ruby/object:Gem::Version
170
+ version: '0.7'
112
171
  - !ruby/object:Gem::Dependency
113
172
  name: rails
114
173
  requirement: !ruby/object:Gem::Requirement
@@ -126,13 +185,13 @@ dependencies:
126
185
  - !ruby/object:Gem::Version
127
186
  version: 3.2.9
128
187
  - !ruby/object:Gem::Dependency
129
- name: jquery-rails
188
+ name: http_accept_language
130
189
  requirement: !ruby/object:Gem::Requirement
131
190
  none: false
132
191
  requirements:
133
192
  - - ~>
134
193
  - !ruby/object:Gem::Version
135
- version: '2.1'
194
+ version: 2.0.0.pre
136
195
  type: :runtime
137
196
  prerelease: false
138
197
  version_requirements: !ruby/object:Gem::Requirement
@@ -140,15 +199,15 @@ dependencies:
140
199
  requirements:
141
200
  - - ~>
142
201
  - !ruby/object:Gem::Version
143
- version: '2.1'
202
+ version: 2.0.0.pre
144
203
  - !ruby/object:Gem::Dependency
145
- name: http_accept_language
204
+ name: addressable
146
205
  requirement: !ruby/object:Gem::Requirement
147
206
  none: false
148
207
  requirements:
149
208
  - - ~>
150
209
  - !ruby/object:Gem::Version
151
- version: 2.0.0.pre
210
+ version: '2.3'
152
211
  type: :runtime
153
212
  prerelease: false
154
213
  version_requirements: !ruby/object:Gem::Requirement
@@ -156,15 +215,63 @@ dependencies:
156
215
  requirements:
157
216
  - - ~>
158
217
  - !ruby/object:Gem::Version
159
- version: 2.0.0.pre
218
+ version: '2.3'
219
+ - !ruby/object:Gem::Dependency
220
+ name: terminal-table
221
+ requirement: !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ~>
225
+ - !ruby/object:Gem::Version
226
+ version: '1.4'
227
+ type: :runtime
228
+ prerelease: false
229
+ version_requirements: !ruby/object:Gem::Requirement
230
+ none: false
231
+ requirements:
232
+ - - ~>
233
+ - !ruby/object:Gem::Version
234
+ version: '1.4'
235
+ - !ruby/object:Gem::Dependency
236
+ name: useragent
237
+ requirement: !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ~>
241
+ - !ruby/object:Gem::Version
242
+ version: '0.4'
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ none: false
247
+ requirements:
248
+ - - ~>
249
+ - !ruby/object:Gem::Version
250
+ version: '0.4'
251
+ - !ruby/object:Gem::Dependency
252
+ name: faraday
253
+ requirement: !ruby/object:Gem::Requirement
254
+ none: false
255
+ requirements:
256
+ - - ~>
257
+ - !ruby/object:Gem::Version
258
+ version: '0.8'
259
+ type: :runtime
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - ~>
265
+ - !ruby/object:Gem::Version
266
+ version: '0.8'
160
267
  - !ruby/object:Gem::Dependency
161
- name: casino_core
268
+ name: rotp
162
269
  requirement: !ruby/object:Gem::Requirement
163
270
  none: false
164
271
  requirements:
165
272
  - - ~>
166
273
  - !ruby/object:Gem::Version
167
- version: 1.4.0
274
+ version: '1.4'
168
275
  type: :runtime
169
276
  prerelease: false
170
277
  version_requirements: !ruby/object:Gem::Requirement
@@ -172,9 +279,8 @@ dependencies:
172
279
  requirements:
173
280
  - - ~>
174
281
  - !ruby/object:Gem::Version
175
- version: 1.4.0
176
- description: CASino is a simple CAS (Central Authentication Service) server using
177
- CASinoCore as its backend.
282
+ version: '1.4'
283
+ description: CASino is a simple CAS (Central Authentication Service) server.
178
284
  email:
179
285
  - ncaspar@me.com
180
286
  - raffael@yux.ch
@@ -184,13 +290,11 @@ extensions: []
184
290
  extra_rdoc_files: []
185
291
  files:
186
292
  - .gitignore
187
- - .powrc
188
293
  - .rspec
189
294
  - .ruby-gemset
190
295
  - .ruby-version
191
296
  - .travis.yml
192
297
  - Gemfile
193
- - Gemfile.lock
194
298
  - LICENSE.txt
195
299
  - README.md
196
300
  - Rakefile
@@ -201,12 +305,14 @@ files:
201
305
  - app/assets/images/logo.png
202
306
  - app/assets/images/logo@2x.png
203
307
  - app/assets/images/rails.png
204
- - app/assets/javascripts/casino/application.js.coffee
308
+ - app/assets/javascripts/casino/application.js
205
309
  - app/assets/javascripts/casino/index.js
206
- - app/assets/javascripts/casino/sessions.js.coffee
310
+ - app/assets/javascripts/casino/sessions.js
207
311
  - app/assets/stylesheets/casino.scss
208
312
  - app/assets/stylesheets/casino/icons.scss
209
313
  - app/assets/stylesheets/casino/normalize.css
314
+ - app/authenticators/casino/static_authenticator.rb
315
+ - app/builders/casino/ticket_validation_response_builder.rb
210
316
  - app/controllers/casino/api/v1/tickets_controller.rb
211
317
  - app/controllers/casino/application_controller.rb
212
318
  - app/controllers/casino/proxy_tickets_controller.rb
@@ -216,6 +322,59 @@ files:
216
322
  - app/helpers/application_helper.rb
217
323
  - app/helpers/casino/sessions_helper.rb
218
324
  - app/helpers/service_tickets_helper.rb
325
+ - app/listeners/casino/legacy_validator_listener.rb
326
+ - app/listeners/casino/listener.rb
327
+ - app/listeners/casino/login_credential_acceptor_listener.rb
328
+ - app/listeners/casino/login_credential_requestor_listener.rb
329
+ - app/listeners/casino/logout_listener.rb
330
+ - app/listeners/casino/other_sessions_destroyer_listener.rb
331
+ - app/listeners/casino/proxy_ticket_provider_listener.rb
332
+ - app/listeners/casino/second_factor_authentication_acceptor_listener.rb
333
+ - app/listeners/casino/session_destroyer_listener.rb
334
+ - app/listeners/casino/session_overview_listener.rb
335
+ - app/listeners/casino/ticket_validator_listener.rb
336
+ - app/listeners/casino/two_factor_authenticator_activator_listener.rb
337
+ - app/listeners/casino/two_factor_authenticator_destroyer_listener.rb
338
+ - app/listeners/casino/two_factor_authenticator_overview_listener.rb
339
+ - app/listeners/casino/two_factor_authenticator_registrator_listener.rb
340
+ - app/models/casino/login_ticket.rb
341
+ - app/models/casino/proxy_granting_ticket.rb
342
+ - app/models/casino/proxy_ticket.rb
343
+ - app/models/casino/service_rule.rb
344
+ - app/models/casino/service_ticket.rb
345
+ - app/models/casino/service_ticket/single_sign_out_notifier.rb
346
+ - app/models/casino/ticket_granting_ticket.rb
347
+ - app/models/casino/two_factor_authenticator.rb
348
+ - app/models/casino/user.rb
349
+ - app/models/casino/validation_result.rb
350
+ - app/processors/casino/api/login_credential_acceptor_processor.rb
351
+ - app/processors/casino/api/logout_processor.rb
352
+ - app/processors/casino/api/service_ticket_provider_processor.rb
353
+ - app/processors/casino/legacy_validator_processor.rb
354
+ - app/processors/casino/login_credential_acceptor_processor.rb
355
+ - app/processors/casino/login_credential_requestor_processor.rb
356
+ - app/processors/casino/logout_processor.rb
357
+ - app/processors/casino/other_sessions_destroyer_processor.rb
358
+ - app/processors/casino/processor.rb
359
+ - app/processors/casino/processor_concern/authentication.rb
360
+ - app/processors/casino/processor_concern/browser.rb
361
+ - app/processors/casino/processor_concern/login_tickets.rb
362
+ - app/processors/casino/processor_concern/proxy_granting_tickets.rb
363
+ - app/processors/casino/processor_concern/proxy_tickets.rb
364
+ - app/processors/casino/processor_concern/service_tickets.rb
365
+ - app/processors/casino/processor_concern/ticket_granting_tickets.rb
366
+ - app/processors/casino/processor_concern/tickets.rb
367
+ - app/processors/casino/processor_concern/two_factor_authenticators.rb
368
+ - app/processors/casino/proxy_ticket_provider_processor.rb
369
+ - app/processors/casino/proxy_ticket_validator_processor.rb
370
+ - app/processors/casino/second_factor_authentication_acceptor_processor.rb
371
+ - app/processors/casino/service_ticket_validator_processor.rb
372
+ - app/processors/casino/session_destroyer_processor.rb
373
+ - app/processors/casino/session_overview_processor.rb
374
+ - app/processors/casino/two_factor_authenticator_activator_processor.rb
375
+ - app/processors/casino/two_factor_authenticator_destroyer_processor.rb
376
+ - app/processors/casino/two_factor_authenticator_overview_processor.rb
377
+ - app/processors/casino/two_factor_authenticator_registrator_processor.rb
219
378
  - app/views/casino/application/_footer.html.erb
220
379
  - app/views/casino/application/_messages.html.erb
221
380
  - app/views/casino/service_tickets/validate.text.erb
@@ -229,37 +388,32 @@ files:
229
388
  - casino-public_cert.pem
230
389
  - casino.gemspec
231
390
  - config/.gitignore
232
- - config/initializers/frontend_config.rb
233
- - config/initializers/inflections.rb
391
+ - config/cas.yml
392
+ - config/database.yml
234
393
  - config/initializers/mime_types.rb
235
394
  - config/initializers/wrap_parameters.rb
236
- - config/initializers/yaml.rb
237
395
  - config/locales/de.yml
238
396
  - config/locales/en.yml
239
397
  - config/routes.rb
398
+ - db/migrate/20130809135400_create_core_schema.rb
399
+ - db/migrate/20130809135401_rename_base_models.rb
400
+ - db/migrate/20131022110146_cleanup_indexes.rb
401
+ - db/migrate/20131022110246_fix_long_index_names.rb
402
+ - db/migrate/20131022110346_change_service_to_text.rb
240
403
  - lib/assets/.gitkeep
241
404
  - lib/casino.rb
405
+ - lib/casino/authenticator.rb
242
406
  - lib/casino/engine.rb
243
- - lib/casino/listener.rb
244
- - lib/casino/listener/legacy_validator.rb
245
- - lib/casino/listener/login_credential_acceptor.rb
246
- - lib/casino/listener/login_credential_requestor.rb
247
- - lib/casino/listener/logout.rb
248
- - lib/casino/listener/other_sessions_destroyer.rb
249
- - lib/casino/listener/proxy_ticket_provider.rb
250
- - lib/casino/listener/second_factor_authentication_acceptor.rb
251
- - lib/casino/listener/session_destroyer.rb
252
- - lib/casino/listener/session_overview.rb
253
- - lib/casino/listener/ticket_validator.rb
254
- - lib/casino/listener/two_factor_authenticator_activator.rb
255
- - lib/casino/listener/two_factor_authenticator_destroyer.rb
256
- - lib/casino/listener/two_factor_authenticator_overview.rb
257
- - lib/casino/listener/two_factor_authenticator_registrator.rb
407
+ - lib/casino/inflections.rb
408
+ - lib/casino/tasks.rb
409
+ - lib/casino/tasks/cleanup.rake
410
+ - lib/casino/tasks/service_rule.rake
258
411
  - lib/casino/version.rb
259
- - lib/generators/casino/install_generator.rb
260
- - lib/generators/casino/templates/README
261
- - lib/generators/casino/templates/cas.yml
262
- - lib/generators/casino/templates/casino_and_overrides.scss
412
+ - lib/generators/casino/install/USAGE
413
+ - lib/generators/casino/install/install_generator.rb
414
+ - lib/generators/casino/install/templates/README
415
+ - lib/generators/casino/install/templates/cas.yml
416
+ - lib/generators/casino/install/templates/casino_and_overrides.scss
263
417
  - lib/generators/casino/templates/casino_core.rb
264
418
  - lib/generators/casino/templates/database.yml
265
419
  - public/404.html
@@ -268,6 +422,8 @@ files:
268
422
  - public/favicon.ico
269
423
  - public/robots.txt
270
424
  - script/rails
425
+ - spec/authenticator/base_spec.rb
426
+ - spec/authenticator/static_spec.rb
271
427
  - spec/controllers/api/v1/tickets_controller_spec.rb
272
428
  - spec/controllers/listener/legacy_validator_spec.rb
273
429
  - spec/controllers/listener/login_credential_acceptor_spec.rb
@@ -290,6 +446,7 @@ files:
290
446
  - spec/dummy/Rakefile
291
447
  - spec/dummy/app/assets/javascripts/application.js
292
448
  - spec/dummy/app/assets/stylesheets/application.css
449
+ - spec/dummy/app/assets/stylesheets/casino_and_overrides.scss
293
450
  - spec/dummy/app/controllers/application_controller.rb
294
451
  - spec/dummy/app/helpers/application_helper.rb
295
452
  - spec/dummy/app/mailers/.gitkeep
@@ -305,7 +462,6 @@ files:
305
462
  - spec/dummy/config/environments/production.rb
306
463
  - spec/dummy/config/environments/test.rb
307
464
  - spec/dummy/config/initializers/backtrace_silencers.rb
308
- - spec/dummy/config/initializers/casino_core.rb
309
465
  - spec/dummy/config/initializers/inflections.rb
310
466
  - spec/dummy/config/initializers/mime_types.rb
311
467
  - spec/dummy/config/initializers/secret_token.rb
@@ -314,6 +470,8 @@ files:
314
470
  - spec/dummy/config/locales/en.yml
315
471
  - spec/dummy/config/routes.rb
316
472
  - spec/dummy/db/.gitkeep
473
+ - spec/dummy/db/migrate/20130910094259_create_base_models.casino.rb
474
+ - spec/dummy/db/schema.rb
317
475
  - spec/dummy/lib/assets/.gitkeep
318
476
  - spec/dummy/log/.gitkeep
319
477
  - spec/dummy/public/404.html
@@ -324,9 +482,46 @@ files:
324
482
  - spec/features/login_spec.rb
325
483
  - spec/features/logout_spec.rb
326
484
  - spec/features/session_overview_spec.rb
485
+ - spec/model/login_ticket_spec.rb
486
+ - spec/model/proxy_ticket_spec.rb
487
+ - spec/model/service_rule_spec.rb
488
+ - spec/model/service_ticket/single_sign_out_notifier_spec.rb
489
+ - spec/model/service_ticket_spec.rb
490
+ - spec/model/ticket_granting_ticket_spec.rb
491
+ - spec/model/two_factor_authenticator_spec.rb
492
+ - spec/processor/api/login_credential_acceptor_spec.rb
493
+ - spec/processor/api/logout_spec.rb
494
+ - spec/processor/api/service_ticket_provider_spec.rb
495
+ - spec/processor/legacy_validator_spec.rb
496
+ - spec/processor/login_credential_acceptor_spec.rb
497
+ - spec/processor/login_credential_requestor_spec.rb
498
+ - spec/processor/logout_other_sessions_spec.rb
499
+ - spec/processor/logout_spec.rb
500
+ - spec/processor/processor_concern/service_tickets_spec.rb
501
+ - spec/processor/proxy_ticket_provider_spec.rb
502
+ - spec/processor/proxy_ticket_validator_spec.rb
503
+ - spec/processor/second_factor_authenticaton_acceptor_spec.rb
504
+ - spec/processor/session_destroyer_spec.rb
505
+ - spec/processor/session_overview_spec.rb
506
+ - spec/processor/ticket_validator_spec.rb
507
+ - spec/processor/two_factor_authenticator_activator_spec.rb
508
+ - spec/processor/two_factor_authenticator_destroyer_spec.rb
509
+ - spec/processor/two_factor_authenticator_overview_spec.rb
510
+ - spec/processor/two_factor_authenticator_registrator_spec.rb
327
511
  - spec/spec_helper.rb
328
512
  - spec/support/.gitkeep
513
+ - spec/support/casino.rb
514
+ - spec/support/factories/login_ticket_factory.rb
515
+ - spec/support/factories/proxy_granting_ticket_factory.rb
516
+ - spec/support/factories/proxy_ticket_factory.rb
517
+ - spec/support/factories/service_rule_factory.rb
518
+ - spec/support/factories/service_ticket_factory.rb
519
+ - spec/support/factories/ticket_granting_ticket_factory.rb
520
+ - spec/support/factories/two_factor_authenticator_factory.rb
521
+ - spec/support/factories/user_factory.rb
329
522
  - spec/support/features_helper.rb
523
+ - spec/support/rspec.rb
524
+ - spec/support/sqlite3.rb
330
525
  - vendor/assets/javascripts/.gitkeep
331
526
  - vendor/assets/stylesheets/.gitkeep
332
527
  homepage: http://rbcas.org/
@@ -355,6 +550,8 @@ signing_key:
355
550
  specification_version: 3
356
551
  summary: A simple CAS server written in Ruby using the Rails framework.
357
552
  test_files:
553
+ - spec/authenticator/base_spec.rb
554
+ - spec/authenticator/static_spec.rb
358
555
  - spec/controllers/api/v1/tickets_controller_spec.rb
359
556
  - spec/controllers/listener/legacy_validator_spec.rb
360
557
  - spec/controllers/listener/login_credential_acceptor_spec.rb
@@ -377,6 +574,7 @@ test_files:
377
574
  - spec/dummy/Rakefile
378
575
  - spec/dummy/app/assets/javascripts/application.js
379
576
  - spec/dummy/app/assets/stylesheets/application.css
577
+ - spec/dummy/app/assets/stylesheets/casino_and_overrides.scss
380
578
  - spec/dummy/app/controllers/application_controller.rb
381
579
  - spec/dummy/app/helpers/application_helper.rb
382
580
  - spec/dummy/app/mailers/.gitkeep
@@ -392,7 +590,6 @@ test_files:
392
590
  - spec/dummy/config/environments/production.rb
393
591
  - spec/dummy/config/environments/test.rb
394
592
  - spec/dummy/config/initializers/backtrace_silencers.rb
395
- - spec/dummy/config/initializers/casino_core.rb
396
593
  - spec/dummy/config/initializers/inflections.rb
397
594
  - spec/dummy/config/initializers/mime_types.rb
398
595
  - spec/dummy/config/initializers/secret_token.rb
@@ -401,6 +598,8 @@ test_files:
401
598
  - spec/dummy/config/locales/en.yml
402
599
  - spec/dummy/config/routes.rb
403
600
  - spec/dummy/db/.gitkeep
601
+ - spec/dummy/db/migrate/20130910094259_create_base_models.casino.rb
602
+ - spec/dummy/db/schema.rb
404
603
  - spec/dummy/lib/assets/.gitkeep
405
604
  - spec/dummy/log/.gitkeep
406
605
  - spec/dummy/public/404.html
@@ -411,6 +610,43 @@ test_files:
411
610
  - spec/features/login_spec.rb
412
611
  - spec/features/logout_spec.rb
413
612
  - spec/features/session_overview_spec.rb
613
+ - spec/model/login_ticket_spec.rb
614
+ - spec/model/proxy_ticket_spec.rb
615
+ - spec/model/service_rule_spec.rb
616
+ - spec/model/service_ticket/single_sign_out_notifier_spec.rb
617
+ - spec/model/service_ticket_spec.rb
618
+ - spec/model/ticket_granting_ticket_spec.rb
619
+ - spec/model/two_factor_authenticator_spec.rb
620
+ - spec/processor/api/login_credential_acceptor_spec.rb
621
+ - spec/processor/api/logout_spec.rb
622
+ - spec/processor/api/service_ticket_provider_spec.rb
623
+ - spec/processor/legacy_validator_spec.rb
624
+ - spec/processor/login_credential_acceptor_spec.rb
625
+ - spec/processor/login_credential_requestor_spec.rb
626
+ - spec/processor/logout_other_sessions_spec.rb
627
+ - spec/processor/logout_spec.rb
628
+ - spec/processor/processor_concern/service_tickets_spec.rb
629
+ - spec/processor/proxy_ticket_provider_spec.rb
630
+ - spec/processor/proxy_ticket_validator_spec.rb
631
+ - spec/processor/second_factor_authenticaton_acceptor_spec.rb
632
+ - spec/processor/session_destroyer_spec.rb
633
+ - spec/processor/session_overview_spec.rb
634
+ - spec/processor/ticket_validator_spec.rb
635
+ - spec/processor/two_factor_authenticator_activator_spec.rb
636
+ - spec/processor/two_factor_authenticator_destroyer_spec.rb
637
+ - spec/processor/two_factor_authenticator_overview_spec.rb
638
+ - spec/processor/two_factor_authenticator_registrator_spec.rb
414
639
  - spec/spec_helper.rb
415
640
  - spec/support/.gitkeep
641
+ - spec/support/casino.rb
642
+ - spec/support/factories/login_ticket_factory.rb
643
+ - spec/support/factories/proxy_granting_ticket_factory.rb
644
+ - spec/support/factories/proxy_ticket_factory.rb
645
+ - spec/support/factories/service_rule_factory.rb
646
+ - spec/support/factories/service_ticket_factory.rb
647
+ - spec/support/factories/ticket_granting_ticket_factory.rb
648
+ - spec/support/factories/two_factor_authenticator_factory.rb
649
+ - spec/support/factories/user_factory.rb
416
650
  - spec/support/features_helper.rb
651
+ - spec/support/rspec.rb
652
+ - spec/support/sqlite3.rb