use of org.maxkey.authz.cas.endpoint.ticket.ProxyTicketImpl in project MaxKey by dromara.
the class Cas30AuthorizeEndpoint method proxy.
@Operation(summary = "CAS 3.0 ProxyTicket代理验证接口", description = "通过ProxyGrantingTicket获取ProxyTicket", method = "POST")
@RequestMapping(CasConstants.ENDPOINT.ENDPOINT_PROXY_V3)
public void proxy(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = CasConstants.PARAMETER.PROXY_GRANTING_TICKET) String pgt, @RequestParam(value = CasConstants.PARAMETER.TARGET_SERVICE) String targetService, @RequestParam(value = CasConstants.PARAMETER.FORMAT, required = false, defaultValue = HttpResponseConstants.FORMAT_TYPE.XML) String format) {
_logger.debug("proxy " + " pgt " + pgt + " , targetService " + targetService + " , format " + format);
ProxyServiceResponseBuilder proxyServiceResponseBuilder = new ProxyServiceResponseBuilder();
ProxyGrantingTicketImpl proxyGrantingTicketImpl = (ProxyGrantingTicketImpl) casProxyGrantingTicketServices.get(pgt);
if (proxyGrantingTicketImpl != null) {
ProxyTicketImpl ProxyTicketImpl = new ProxyTicketImpl(proxyGrantingTicketImpl.getAuthentication(), proxyGrantingTicketImpl.getCasDetails());
String proxyTicket = ticketServices.createTicket(ProxyTicketImpl);
proxyServiceResponseBuilder.success().setTicket(proxyTicket).setFormat(format);
} else {
proxyServiceResponseBuilder.success().setTicket("").setFormat(format);
}
httpResponseAdapter.write(response, proxyServiceResponseBuilder.serviceResponseBuilder(), format);
}
Aggregations