@@ -4,20 +4,18 @@ module RubyCAS
4
4
module Server
5
5
module Core
6
6
module Tickets
7
-
8
7
class LT
9
- include ::RubyCAS ::Server ::Core
10
- include ::RubyCAS ::Server ::Core ::Tickets
8
+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
11
9
extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
12
10
13
11
def self . create! ( client = "localhost" )
14
- lt = Tickets . generate_login_ticket ( client )
12
+ lt = generate_login_ticket ( client )
15
13
raise 'error that should be handled by rubycas-server-core gem' if !lt
16
14
return lt
17
15
end
18
16
19
17
def self . create ( client = "localhost" )
20
- Tickets . generate_login_ticket ( client )
18
+ generate_login_ticket ( client )
21
19
end
22
20
23
21
def self . validate ( lt )
@@ -40,20 +38,19 @@ def self.find_by!(options)
40
38
end
41
39
42
40
class TGT
43
- include ::RubyCAS ::Server ::Core
44
- include ::RubyCAS ::Server ::Core ::Tickets
41
+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
45
42
extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
46
43
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 (
49
46
user , client , remember_me , extra_attributes
50
47
)
51
48
raise 'error that should be handled by rubycas-server-core gem' if !tgt
52
49
return tgt
53
50
end
54
51
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 (
57
54
user , client , remember_me , extra_attributes
58
55
)
59
56
end
@@ -79,18 +76,17 @@ def self.find_by!(options)
79
76
end
80
77
81
78
class ST
82
- include ::RubyCAS ::Server ::Core
83
- include ::RubyCAS ::Server ::Core ::Tickets
79
+ extend ::RubyCAS ::Server ::Core ::Tickets ::Generations
84
80
extend ::RubyCAS ::Server ::Core ::Tickets ::Validations
85
81
86
82
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 )
88
84
raise 'error that should be handled by rubycas-server-core gem' if !st
89
85
return st
90
86
end
91
87
92
88
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 )
94
90
end
95
91
96
92
def self . validate ( service , ticket )
@@ -126,72 +122,6 @@ def self.build_ticketed_url(service, ticket)
126
122
Util . build_ticketed_url ( service , ticket )
127
123
end
128
124
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
195
125
end
196
126
end
197
127
end
0 commit comments