casino_core 0.0.1 → 0.0.2

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/casino_core.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "casino_core"
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nils Caspar"]
12
- s.date = "2012-12-16"
12
+ s.date = "2012-12-17"
13
13
  s.description = "A CAS server core library."
14
14
  s.email = "ncaspar@me.com"
15
15
  s.extra_rdoc_files = [
@@ -47,7 +47,10 @@ Gem::Specification.new do |s|
47
47
  "lib/casino_core/authenticator/static.rb",
48
48
  "lib/casino_core/helper.rb",
49
49
  "lib/casino_core/helper/browser.rb",
50
+ "lib/casino_core/helper/logger.rb",
51
+ "lib/casino_core/helper/login_tickets.rb",
50
52
  "lib/casino_core/helper/service_tickets.rb",
53
+ "lib/casino_core/helper/tickets.rb",
51
54
  "lib/casino_core/model.rb",
52
55
  "lib/casino_core/model/login_ticket.rb",
53
56
  "lib/casino_core/model/proxy_granting_ticket.rb",
@@ -1,5 +1,3 @@
1
- require 'addressable/uri'
2
-
3
1
  module CASinoCore
4
2
  module Helper
5
3
  module Browser
@@ -0,0 +1,12 @@
1
+ module CASinoCore
2
+ module Helper
3
+ module Logger
4
+ def logger
5
+ # TODO this is just a "silent logger", make logger a setting!
6
+ logger = ::Logger.new(STDOUT)
7
+ logger.level = ::Logger::Severity::UNKNOWN
8
+ logger
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module CASinoCore
2
+ module Helper
3
+ module LoginTickets
4
+ include CASinoCore::Helper::Logger
5
+ include CASinoCore::Helper::Tickets
6
+
7
+ def acquire_login_ticket
8
+ ticket = CASinoCore::Model::LoginTicket.create ticket: random_ticket_string('LT')
9
+ logger.debug "Created login ticket '#{ticket.ticket}'"
10
+ ticket
11
+ end
12
+ end
13
+ end
14
+ end
@@ -3,7 +3,8 @@ require 'addressable/uri'
3
3
  module CASinoCore
4
4
  module Helper
5
5
  module ServiceTickets
6
- include CASinoCore::Helper
6
+ include CASinoCore::Helper::Logger
7
+ include CASinoCore::Helper::Tickets
7
8
 
8
9
  def acquire_service_ticket(ticket_granting_ticket, service, credentials_supplied = nil)
9
10
  ticket_granting_ticket.service_tickets.create!({
@@ -0,0 +1,10 @@
1
+ module CASinoCore
2
+ module Helper
3
+ module Tickets
4
+ def random_ticket_string(prefix, length = 40)
5
+ random_string = rand(36**length).to_s(36)
6
+ "#{prefix}-#{Time.now.to_i}-#{random_string}"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -3,19 +3,10 @@ require 'useragent'
3
3
 
4
4
  module CASinoCore
5
5
  module Helper
6
- autoload :ServiceTickets, 'casino_core/helper/service_tickets.rb'
7
6
  autoload :Browser, 'casino_core/helper/browser.rb'
8
-
9
- def random_ticket_string(prefix, length = 40)
10
- random_string = rand(36**length).to_s(36)
11
- "#{prefix}-#{Time.now.to_i}-#{random_string}"
12
- end
13
-
14
- def logger
15
- # TODO this is just a "silent logger", make logger a setting!
16
- logger = ::Logger.new(STDOUT)
17
- logger.level = ::Logger::Severity::UNKNOWN
18
- logger
19
- end
7
+ autoload :Logger, 'casino_core/helper/logger.rb'
8
+ autoload :LoginTickets, 'casino_core/helper/login_tickets.rb'
9
+ autoload :ServiceTickets, 'casino_core/helper/service_tickets.rb'
10
+ autoload :Tickets, 'casino_core/helper/tickets.rb'
20
11
  end
21
12
  end
@@ -3,7 +3,7 @@ require 'casino_core/helper'
3
3
  require 'casino_core/model'
4
4
 
5
5
  class CASinoCore::Processor::LegacyValidator < CASinoCore::Processor
6
- include CASinoCore::Helper
6
+ include CASinoCore::Helper::Logger
7
7
  include CASinoCore::Helper::ServiceTickets
8
8
 
9
9
  def process(params = nil)
@@ -2,7 +2,8 @@ require 'casino_core/processor'
2
2
  require 'casino_core/helper'
3
3
 
4
4
  class CASinoCore::Processor::LoginCredentialAcceptor < CASinoCore::Processor
5
- include CASinoCore::Helper
5
+ include CASinoCore::Helper::Logger
6
+ include CASinoCore::Helper::LoginTickets
6
7
  include CASinoCore::Helper::ServiceTickets
7
8
 
8
9
  def process(params = nil, cookies = nil, user_agent = nil)
@@ -17,10 +18,10 @@ class CASinoCore::Processor::LoginCredentialAcceptor < CASinoCore::Processor
17
18
  end
18
19
  @listener.user_logged_in(url, ticket_granting_ticket.ticket)
19
20
  else
20
- @listener.invalid_login_credentials
21
+ @listener.invalid_login_credentials(acquire_login_ticket)
21
22
  end
22
23
  else
23
- @listener.invalid_login_ticket
24
+ @listener.invalid_login_ticket(acquire_login_ticket)
24
25
  end
25
26
  end
26
27
 
@@ -2,16 +2,16 @@ require 'casino_core/processor'
2
2
  require 'casino_core/helper'
3
3
 
4
4
  class CASinoCore::Processor::LoginCredentialRequestor < CASinoCore::Processor
5
- include CASinoCore::Helper
6
- include CASinoCore::Helper::ServiceTickets
7
5
  include CASinoCore::Helper::Browser
6
+ include CASinoCore::Helper::Logger
7
+ include CASinoCore::Helper::LoginTickets
8
+ include CASinoCore::Helper::ServiceTickets
8
9
 
9
10
  def process(params = nil, cookies = nil, user_agent = nil)
10
11
  params ||= {}
11
12
  cookies ||= {}
12
13
  request_env ||= {}
13
14
  if !params[:renew] && (ticket_granting_ticket = find_valid_ticket_granting_ticket(cookies[:tgt], user_agent))
14
- # TODO create new service ticket and url
15
15
  service_url_with_ticket = unless params[:service].nil?
16
16
  acquire_service_ticket(ticket_granting_ticket, params[:service], true).service_with_ticket_url
17
17
  end
@@ -23,12 +23,6 @@ class CASinoCore::Processor::LoginCredentialRequestor < CASinoCore::Processor
23
23
  end
24
24
 
25
25
  private
26
- def acquire_login_ticket
27
- ticket = CASinoCore::Model::LoginTicket.create ticket: random_ticket_string('LT')
28
- logger.debug "Created login ticket '#{ticket.ticket}'"
29
- ticket
30
- end
31
-
32
26
  def find_valid_ticket_granting_ticket(tgt, user_agent)
33
27
  ticket_granting_ticket = CASinoCore::Model::TicketGrantingTicket.where(ticket: tgt).first
34
28
  unless ticket_granting_ticket.nil?
@@ -6,5 +6,9 @@ module CASinoCore
6
6
  rake_tasks do
7
7
  CASinoCore::RakeTasks.load_tasks
8
8
  end
9
+
10
+ initializer "casino_core.load_configuration" do
11
+ CASinoCore.setup Rails.env
12
+ end
9
13
  end
10
14
  end
@@ -7,7 +7,7 @@ describe CASinoCore::Processor::LoginCredentialAcceptor do
7
7
 
8
8
  context 'without a valid login ticket' do
9
9
  it 'calls the #invalid_login_ticket method on the listener' do
10
- listener.should_receive(:invalid_login_ticket).with(no_args)
10
+ listener.should_receive(:invalid_login_ticket).with(kind_of(CASinoCore::Model::LoginTicket))
11
11
  processor.process
12
12
  end
13
13
  end
@@ -17,7 +17,7 @@ describe CASinoCore::Processor::LoginCredentialAcceptor do
17
17
 
18
18
  context 'with invalid credentials' do
19
19
  it 'calls the #invalid_login_credentials method on the listener' do
20
- listener.should_receive(:invalid_login_credentials).with(no_args)
20
+ listener.should_receive(:invalid_login_credentials).with(kind_of(CASinoCore::Model::LoginTicket))
21
21
  processor.process(lt: login_ticket.ticket)
22
22
  end
23
23
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: casino_core
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nils Caspar
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-12-16 00:00:00 Z
13
+ date: 2012-12-17 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -173,7 +173,10 @@ files:
173
173
  - lib/casino_core/authenticator/static.rb
174
174
  - lib/casino_core/helper.rb
175
175
  - lib/casino_core/helper/browser.rb
176
+ - lib/casino_core/helper/logger.rb
177
+ - lib/casino_core/helper/login_tickets.rb
176
178
  - lib/casino_core/helper/service_tickets.rb
179
+ - lib/casino_core/helper/tickets.rb
177
180
  - lib/casino_core/model.rb
178
181
  - lib/casino_core/model/login_ticket.rb
179
182
  - lib/casino_core/model/proxy_granting_ticket.rb
@@ -213,7 +216,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
216
  requirements:
214
217
  - - ">="
215
218
  - !ruby/object:Gem::Version
216
- hash: -3576737040247734839
219
+ hash: 3655648901496151978
217
220
  segments:
218
221
  - 0
219
222
  version: "0"