Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GRANDGERARD Gilles
keycloak-protocol-cas
Commits
dee145f2
Commit
dee145f2
authored
Sep 08, 2018
by
Matthias Piepkorn
Browse files
update for KEYCLOAK-7967 Remove injection of UriInfo
parent
906d53ea
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java
View file @
dee145f2
...
...
@@ -18,9 +18,6 @@ public class CASLoginProtocolService {
private
RealmModel
realm
;
private
EventBuilder
event
;
@Context
private
UriInfo
uriInfo
;
@Context
private
KeycloakSession
session
;
...
...
src/main/java/org/keycloak/protocol/cas/endpoints/AuthorizationEndpoint.java
View file @
dee145f2
...
...
@@ -33,7 +33,7 @@ public class AuthorizationEndpoint extends AuthorizationEndpointBase {
@GET
public
Response
build
()
{
MultivaluedMap
<
String
,
String
>
params
=
uriInfo
.
getQueryParameters
();
MultivaluedMap
<
String
,
String
>
params
=
session
.
getContext
().
getUri
()
.
getQueryParameters
();
String
service
=
params
.
getFirst
(
CASLoginProtocol
.
SERVICE_PARAM
);
boolean
renew
=
params
.
containsKey
(
CASLoginProtocol
.
RENEW_PARAM
);
boolean
gateway
=
params
.
containsKey
(
CASLoginProtocol
.
GATEWAY_PARAM
);
...
...
@@ -53,7 +53,7 @@ public class AuthorizationEndpoint extends AuthorizationEndpointBase {
}
this
.
event
.
event
(
EventType
.
LOGIN
);
return
handleBrowserAuthenticationRequest
(
authenticationSession
,
new
CASLoginProtocol
(
session
,
realm
,
uriInfo
,
headers
,
event
),
gateway
,
false
);
return
handleBrowserAuthenticationRequest
(
authenticationSession
,
new
CASLoginProtocol
(
session
,
realm
,
session
.
getContext
().
getUri
()
,
headers
,
event
),
gateway
,
false
);
}
private
void
checkClient
(
String
service
)
{
...
...
@@ -64,7 +64,7 @@ public class AuthorizationEndpoint extends AuthorizationEndpointBase {
client
=
realm
.
getClients
().
stream
()
.
filter
(
c
->
CASLoginProtocol
.
LOGIN_PROTOCOL
.
equals
(
c
.
getProtocol
()))
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
uriInfo
,
service
,
realm
,
c
)
!=
null
)
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
session
.
getContext
().
getUri
()
,
service
,
realm
,
c
)
!=
null
)
.
findFirst
().
orElse
(
null
);
if
(
client
==
null
)
{
event
.
error
(
Errors
.
CLIENT_NOT_FOUND
);
...
...
@@ -76,7 +76,7 @@ public class AuthorizationEndpoint extends AuthorizationEndpointBase {
throw
new
ErrorPageException
(
session
,
Response
.
Status
.
BAD_REQUEST
,
Messages
.
CLIENT_DISABLED
);
}
redirectUri
=
RedirectUtils
.
verifyRedirectUri
(
uriInfo
,
service
,
realm
,
client
);
redirectUri
=
RedirectUtils
.
verifyRedirectUri
(
session
.
getContext
().
getUri
()
,
service
,
realm
,
client
);
event
.
client
(
client
.
getClientId
());
event
.
detail
(
Details
.
REDIRECT_URI
,
redirectUri
);
...
...
src/main/java/org/keycloak/protocol/cas/endpoints/LogoutEndpoint.java
View file @
dee145f2
...
...
@@ -20,7 +20,6 @@ import javax.ws.rs.QueryParam;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.HttpHeaders
;
import
javax.ws.rs.core.Response
;
import
javax.ws.rs.core.UriInfo
;
public
class
LogoutEndpoint
{
private
static
final
Logger
logger
=
Logger
.
getLogger
(
LogoutEndpoint
.
class
);
...
...
@@ -37,9 +36,6 @@ public class LogoutEndpoint {
@Context
private
HttpHeaders
headers
;
@Context
private
UriInfo
uriInfo
;
private
RealmModel
realm
;
private
EventBuilder
event
;
private
ClientModel
client
;
...
...
@@ -62,7 +58,7 @@ public class LogoutEndpoint {
if
(
redirectUri
!=
null
)
userSession
.
setNote
(
CASLoginProtocol
.
LOGOUT_REDIRECT_URI
,
redirectUri
);
logger
.
debug
(
"Initiating CAS browser logout"
);
Response
response
=
AuthenticationManager
.
browserLogout
(
session
,
realm
,
authResult
.
getSession
(),
uriInfo
,
clientConnection
,
headers
);
Response
response
=
AuthenticationManager
.
browserLogout
(
session
,
realm
,
authResult
.
getSession
(),
session
.
getContext
().
getUri
()
,
clientConnection
,
headers
);
logger
.
debug
(
"finishing CAS browser logout"
);
return
response
;
}
...
...
@@ -76,10 +72,10 @@ public class LogoutEndpoint {
client
=
realm
.
getClients
().
stream
()
.
filter
(
c
->
CASLoginProtocol
.
LOGIN_PROTOCOL
.
equals
(
c
.
getProtocol
()))
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
uriInfo
,
service
,
realm
,
c
)
!=
null
)
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
session
.
getContext
().
getUri
()
,
service
,
realm
,
c
)
!=
null
)
.
findFirst
().
orElse
(
null
);
if
(
client
!=
null
)
{
redirectUri
=
RedirectUtils
.
verifyRedirectUri
(
uriInfo
,
service
,
realm
,
client
);
redirectUri
=
RedirectUtils
.
verifyRedirectUri
(
session
.
getContext
().
getUri
()
,
service
,
realm
,
client
);
session
.
getContext
().
setClient
(
client
);
}
...
...
src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
View file @
dee145f2
...
...
@@ -51,7 +51,7 @@ public class ServiceValidateEndpoint extends ValidateEndpoint {
}
private
Response
prepare
(
Response
.
Status
status
,
CASServiceResponse
serviceResponse
)
{
MediaType
responseMediaType
=
new
ContentTypeHelper
(
request
,
restRequest
,
uriInfo
).
selectResponseType
();
MediaType
responseMediaType
=
new
ContentTypeHelper
(
request
,
restRequest
,
session
.
getContext
().
getUri
()
).
selectResponseType
();
return
ServiceResponseHelper
.
createResponse
(
status
,
responseMediaType
,
serviceResponse
);
}
}
src/main/java/org/keycloak/protocol/cas/endpoints/ValidateEndpoint.java
View file @
dee145f2
...
...
@@ -37,9 +37,6 @@ public class ValidateEndpoint {
@Context
protected
HttpHeaders
headers
;
@Context
protected
UriInfo
uriInfo
;
protected
RealmModel
realm
;
protected
EventBuilder
event
;
protected
ClientModel
client
;
...
...
@@ -53,7 +50,7 @@ public class ValidateEndpoint {
@GET
@NoCache
public
Response
build
()
{
MultivaluedMap
<
String
,
String
>
params
=
uriInfo
.
getQueryParameters
();
MultivaluedMap
<
String
,
String
>
params
=
session
.
getContext
().
getUri
()
.
getQueryParameters
();
String
service
=
params
.
getFirst
(
CASLoginProtocol
.
SERVICE_PARAM
);
String
ticket
=
params
.
getFirst
(
CASLoginProtocol
.
TICKET_PARAM
);
boolean
renew
=
params
.
containsKey
(
CASLoginProtocol
.
RENEW_PARAM
);
...
...
@@ -83,7 +80,7 @@ public class ValidateEndpoint {
}
private
void
checkSsl
()
{
if
(!
uriInfo
.
getBaseUri
().
getScheme
().
equals
(
"https"
)
&&
realm
.
getSslRequired
().
isRequired
(
clientConnection
))
{
if
(!
session
.
getContext
().
getUri
()
.
getBaseUri
().
getScheme
().
equals
(
"https"
)
&&
realm
.
getSslRequired
().
isRequired
(
clientConnection
))
{
throw
new
CASValidationException
(
CASErrorCode
.
INVALID_REQUEST
,
"HTTPS required"
,
Response
.
Status
.
FORBIDDEN
);
}
}
...
...
@@ -102,7 +99,7 @@ public class ValidateEndpoint {
client
=
realm
.
getClients
().
stream
()
.
filter
(
c
->
CASLoginProtocol
.
LOGIN_PROTOCOL
.
equals
(
c
.
getProtocol
()))
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
uriInfo
,
service
,
realm
,
c
)
!=
null
)
.
filter
(
c
->
RedirectUtils
.
verifyRedirectUri
(
session
.
getContext
().
getUri
()
,
service
,
realm
,
c
)
!=
null
)
.
findFirst
().
orElse
(
null
);
if
(
client
==
null
)
{
event
.
error
(
Errors
.
CLIENT_NOT_FOUND
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment