casino_core 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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"