@@ -4,20 +4,18 @@ module RubyCAS
44 module Server
55 module Core
66 module Tickets
7-
87 class LT
9- include ::RubyCAS ::Server ::Core
10- include ::RubyCAS ::Server ::Core ::Tickets
8+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
119 extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
1210
1311 def self . create! ( client = "localhost" )
14- lt = Tickets . generate_login_ticket ( client )
12+ lt = generate_login_ticket ( client )
1513 raise 'error that should be handled by rubycas-server-core gem' if !lt
1614 return lt
1715 end
1816
1917 def self . create ( client = "localhost" )
20- Tickets . generate_login_ticket ( client )
18+ generate_login_ticket ( client )
2119 end
2220
2321 def self . validate ( lt )
@@ -40,20 +38,19 @@ def self.find_by!(options)
4038 end
4139
4240 class TGT
43- include ::RubyCAS ::Server ::Core
44- include ::RubyCAS ::Server ::Core ::Tickets
41+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
4542 extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
4643
47- def self . create! ( user , client = "localhost" , remember_me = false , extra_attributes )
48- tgt = Tickets . generate_ticket_granting_ticket (
44+ def self . create! ( user , client = "localhost" , remember_me = false , extra_attributes = { } )
45+ tgt = generate_ticket_granting_ticket (
4946 user , client , remember_me , extra_attributes
5047 )
5148 raise 'error that should be handled by rubycas-server-core gem' if !tgt
5249 return tgt
5350 end
5451
55- def self . create ( user , client = "localhost" , remember_me = false , extra_attributes )
56- Tickets . generate_ticket_granting_ticket (
52+ def self . create ( user , client = "localhost" , remember_me = false , extra_attributes = { } )
53+ generate_ticket_granting_ticket (
5754 user , client , remember_me , extra_attributes
5855 )
5956 end
@@ -79,18 +76,17 @@ def self.find_by!(options)
7976 end
8077
8178 class ST
82- include ::RubyCAS ::Server ::Core
83- include ::RubyCAS ::Server ::Core ::Tickets
79+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
8480 extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
8581
8682 def self . create! ( service , user , tgt , client = "localhost" )
87- st = Tickets . generate_service_ticket ( service , user , tgt , client )
83+ st = generate_service_ticket ( service , user , tgt , client )
8884 raise 'error that should be handled by rubycas-server-core gem' if !st
8985 return st
9086 end
9187
9288 def self . create ( service , user , tgt , client = "localhost" )
93- Tickets . generate_service_ticket ( service , user , tgt , client )
89+ generate_service_ticket ( service , user , tgt , client )
9490 end
9591
9692 def self . validate ( service , ticket )
@@ -126,72 +122,6 @@ def self.build_ticketed_url(service, ticket)
126122 Util . build_ticketed_url ( service , ticket )
127123 end
128124 end
129-
130-
131- # One time login ticket for given client
132- def self . generate_login_ticket ( client )
133- lt = LoginTicket . new
134- lt . ticket = "LT-" + Util . random_string
135- lt . client_hostname = client
136- if lt . save!
137- $LOG. debug ( "Login ticket '#{ lt . ticket } has been created for '#{ lt . client_hostname } '" )
138- return lt
139- else
140- return nil
141- end
142- end
143-
144- # Creates a TicketGrantingTicket for the given username. This is done when the user logs in
145- # for the first time to establish their SSO session (after their credentials have been validated).
146- #
147- # The optional 'extra_attributes' parameter takes a hash of additional attributes
148- # that will be sent along with the username in the CAS response to subsequent
149- # validation requests from clients.
150- def self . generate_ticket_granting_ticket (
151- username ,
152- client ,
153- remember_me = false ,
154- extra_attributes = { }
155- )
156- tgt = TicketGrantingTicket . new
157- tgt . ticket = "TGC-" + Util . random_string
158- tgt . username = username
159- tgt . remember_me = remember_me
160- tgt . extra_attributes = extra_attributes . to_s
161- tgt . client_hostname = client
162- if tgt . save!
163- $LOG. debug ( "Generated ticket granting ticket '#{ tgt . ticket } ' for user" +
164- " '#{ tgt . username } ' at '#{ tgt . client_hostname } '" +
165- ( extra_attributes . empty? ? "" : " with extra attributes #{ extra_attributes . inspect } " ) )
166- return tgt
167- else
168- return nil
169- end
170- end
171-
172- def self . generate_service_ticket ( service , username , tgt , client )
173- st = tgt . service_tickets . new
174- st . ticket = "ST-" + Util . random_string
175- st . service = service
176- st . username = username
177- st . ticket_granting_ticket = tgt
178- st . client_hostname = client
179- if st . save
180- $LOG. debug ( "Generated service ticket '#{ st . ticket } ' for service '#{ st . service } '" +
181- " for user '#{ st . username } ' at '#{ st . client_hostname } '" )
182- return st
183- else
184- return nil
185- end
186- end
187-
188- def self . generate_proxy_ticket ( target_service , pgt , client )
189- raise NotImplementedError
190- end
191-
192- def self . generate_proxy_granting_ticket ( pgt_url , st , client )
193- raise NotImplementedError
194- end
195125 end
196126 end
197127 end
0 commit comments