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 +1 -1
- data/casino_core.gemspec +5 -2
- data/lib/casino_core/helper/browser.rb +0 -2
- data/lib/casino_core/helper/logger.rb +12 -0
- data/lib/casino_core/helper/login_tickets.rb +14 -0
- data/lib/casino_core/helper/service_tickets.rb +2 -1
- data/lib/casino_core/helper/tickets.rb +10 -0
- data/lib/casino_core/helper.rb +4 -13
- data/lib/casino_core/processor/legacy_validator.rb +1 -1
- data/lib/casino_core/processor/login_credential_acceptor.rb +4 -3
- data/lib/casino_core/processor/login_credential_requestor.rb +3 -9
- data/lib/casino_core/railtie.rb +4 -0
- data/spec/processor/login_credential_acceptor_spec.rb +2 -2
- metadata +6 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
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.
|
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-
|
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",
|
@@ -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!({
|
data/lib/casino_core/helper.rb
CHANGED
@@ -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
|
-
|
10
|
-
|
11
|
-
|
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?
|
data/lib/casino_core/railtie.rb
CHANGED
@@ -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(
|
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(
|
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.
|
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-
|
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:
|
219
|
+
hash: 3655648901496151978
|
217
220
|
segments:
|
218
221
|
- 0
|
219
222
|
version: "0"
|