Search in sources :

Example 1 with ProxyTicketImpl

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);
}
Also used : ProxyServiceResponseBuilder(org.maxkey.authz.cas.endpoint.response.ProxyServiceResponseBuilder) ProxyTicketImpl(org.maxkey.authz.cas.endpoint.ticket.ProxyTicketImpl) ProxyGrantingTicketImpl(org.maxkey.authz.cas.endpoint.ticket.ProxyGrantingTicketImpl) Operation(io.swagger.v3.oas.annotations.Operation) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Operation (io.swagger.v3.oas.annotations.Operation)1 ProxyServiceResponseBuilder (org.maxkey.authz.cas.endpoint.response.ProxyServiceResponseBuilder)1 ProxyGrantingTicketImpl (org.maxkey.authz.cas.endpoint.ticket.ProxyGrantingTicketImpl)1 ProxyTicketImpl (org.maxkey.authz.cas.endpoint.ticket.ProxyTicketImpl)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1