|  |  |  | 
|---|
|  |  |  | import javax.ws.rs.core.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public class ValidateEndpoint { | 
|---|
|  |  |  | protected static final Logger logger = Logger.getLogger(org.keycloak.protocol.oidc.endpoints.LogoutEndpoint.class); | 
|---|
|  |  |  | protected static final Logger logger = Logger.getLogger(ValidateEndpoint.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static final String RESPONSE_OK = "yes\n"; | 
|---|
|  |  |  | private static final String RESPONSE_FAILED = "no\n"; | 
|---|
|  |  |  | 
|---|
|  |  |  | MultivaluedMap<String, String> params = uriInfo.getQueryParameters(); | 
|---|
|  |  |  | String service = params.getFirst(CASLoginProtocol.SERVICE_PARAM); | 
|---|
|  |  |  | String ticket = params.getFirst(CASLoginProtocol.TICKET_PARAM); | 
|---|
|  |  |  | boolean renew = "true".equalsIgnoreCase(params.getFirst(CASLoginProtocol.RENEW_PARAM)); | 
|---|
|  |  |  | boolean renew = params.containsKey(CASLoginProtocol.RENEW_PARAM); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | event.event(EventType.CODE_TO_TOKEN); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | throw new CASValidationException(CASErrorCode.INVALID_TICKET, "Code is expired", Response.Status.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | clientSession.setNote(CASLoginProtocol.SESSION_SERVICE_TICKET, ticket); | 
|---|
|  |  |  | parseResult.getCode().setAction(null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (requireReauth && AuthenticationManager.isSSOAuthentication(clientSession)) { | 
|---|
|  |  |  | event.error(Errors.SESSION_EXPIRED); | 
|---|
|  |  |  | throw new CASValidationException(CASErrorCode.INVALID_TICKET, "Interactive authentication was requested but not performed", Response.Status.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | UserSessionModel userSession = clientSession.getUserSession(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (userSession == null) { | 
|---|