HttpServletResponse response) { String errorResponse; HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse .HttpIdentityResponseBuilder(); if (((CAS2ClientException) exception).getAcsUrl() != null) { queryParams.put(CASSSOConstants.STATUS_MSG, new String[]{URLEncoder.encode(((CAS2ClientException) exception).getExceptionMessage(), StandardCharsets.UTF_8.name())}); builder.setParameters(queryParams); builder.setRedirectURL(genericErrorPage); builder.setStatusCode(HttpServletResponse.SC_SERVICE_UNAVAILABLE); } catch (UnsupportedEncodingException e) { if (log.isDebugEnabled()) { CASErrorConstants.INVALID_REQUEST_MESSAGE, request.getLocale())); builder.setBody(errorResponse); builder.setRedirectURL(redirectURL); builder.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
new HttpIdentityResponse.HttpIdentityResponseBuilder(); Map<String, Cookie> cookies; String acUrl = getACSUrlWithTenantPartitioning(loginResponse.getAcsUrl(), loginResponse.getTenantDomain()); if (IdentitySAMLSSOServiceComponent.getSsoRedirectHtml() != null) { builder.setBody(getRedirectHtml(acUrl, relayState, authenticatedIdPs, loginResponse)); } else { builder.setBody(getPostHtml(acUrl, relayState, authenticatedIdPs, loginResponse)); logoutResponse.getTenantDomain()); if (IdentitySAMLSSOServiceComponent.getSsoRedirectHtml() != null) { builder.setBody(getRedirectHtml(acUrl, relayState, logoutResponse)); } else { builder.setBody(getPostHtml(acUrl, relayState, logoutResponse)); builder.setRedirectURL(acUrl); cookies = ((SAMLLogoutResponse) identityResponse).getContext().getCookies(); builder.addCookie(entry.getValue()); builder.setStatusCode(HttpServletResponse.SC_OK); return builder;
throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); } catch (RuntimeException e) { responseBuilder = factory.handleException(e, request, response); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!"); return responseBuilder.build(); } catch (FrameworkException e) { responseFactory = getIdentityResponseFactory(e); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); } catch (RuntimeException e) { responseFactory = getIdentityResponseFactory(e); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build();
throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); } catch (RuntimeException e) { responseBuilder = factory.handleException(e, request, response); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!"); return responseBuilder.build(); } catch (FrameworkException e) { responseFactory = getIdentityResponseFactory(e); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build(); } catch (RuntimeException e) { responseFactory = getIdentityResponseFactory(e); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!", e); return responseBuilder.build();
throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!"); return responseBuilder.build(); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!"); return responseBuilder.build(); } catch (FrameworkException e) { responseFactory = getIdentityResponseFactory(e); throw FrameworkRuntimeException.error("HttpIdentityResponseBuilder is Null. Cannot proceed!!"); return responseBuilder.build();
HttpServletResponse response) { HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse .HttpIdentityResponseBuilder(); String redirectURL = SAMLSSOUtil.getNotificationEndpoint(); (SAML2ClientException) exception).getACSUrl(), StandardCharsets.UTF_8.name())}); builder.setParameters(queryParams); } catch (UnsupportedEncodingException e) { if (log.isDebugEnabled()) { builder.setRedirectURL(redirectURL); builder.setStatusCode(HttpServletResponse.SC_MOVED_TEMPORARILY); return builder;
private HttpIdentityResponse.HttpIdentityResponseBuilder sendNotification(IdentityResponse identityResponse) { SAMLErrorResponse errorResponse = ((SAMLErrorResponse) identityResponse); HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse .HttpIdentityResponseBuilder(); String redirectURL = SAMLSSOUtil.getNotificationEndpoint(); Map<String, String[]> queryParams = new HashMap(); //TODO Send status codes rather than full messages in the GET request try { queryParams.put(SAMLSSOConstants.STATUS, new String[]{URLEncoder.encode(errorResponse.getStatus(), StandardCharsets.UTF_8.name())}); queryParams.put(SAMLSSOConstants.STATUS_MSG, new String[]{URLEncoder.encode(errorResponse.getMessageLog() , StandardCharsets.UTF_8.name())}); if (StringUtils.isNotEmpty(errorResponse.getErrorResponse())) { queryParams.put(SAMLSSOConstants.SAML_RESP, new String[]{URLEncoder.encode(errorResponse .getErrorResponse(), StandardCharsets.UTF_8.name())}); } if (StringUtils.isNotEmpty(errorResponse.getAcsUrl())) { queryParams.put(SAMLSSOConstants.ASSRTN_CONSUMER_URL, new String[]{URLEncoder.encode(errorResponse .getAcsUrl(), StandardCharsets.UTF_8.name())}); } } catch (UnsupportedEncodingException e) { } builder.setStatusCode(HttpServletResponse.SC_MOVED_TEMPORARILY); builder.setParameters(queryParams); builder.setRedirectURL(redirectURL); return builder; }
@Override public void create(HttpIdentityResponse.HttpIdentityResponseBuilder httpIdentityResponseBuilder, IdentityResponse identityResponse) { RegistrationResponse registrationResponse = null; if (identityResponse instanceof RegistrationResponse) { registrationResponse = (RegistrationResponse) identityResponse; httpIdentityResponseBuilder.setBody(generateSuccessfulResponse(registrationResponse).toJSONString()); httpIdentityResponseBuilder.setStatusCode(HttpServletResponse.SC_CREATED); httpIdentityResponseBuilder.addHeader(OAuthConstants.HTTP_RESP_HEADER_CACHE_CONTROL, OAuthConstants.HTTP_RESP_HEADER_VAL_CACHE_CONTROL_NO_STORE); httpIdentityResponseBuilder.addHeader(OAuthConstants.HTTP_RESP_HEADER_PRAGMA, OAuthConstants.HTTP_RESP_HEADER_VAL_PRAGMA_NO_CACHE); httpIdentityResponseBuilder.addHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON); } else { // This else part will not be reached from application logic. log.error("Can't create httpIdentityResponseBuilder. identityResponse is not an instance of " + "RegistrationResponse"); } }
@Override public HttpIdentityResponse.HttpIdentityResponseBuilder create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLogoutResponse response = (FrameworkLogoutResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(InboundConstants.RequestProcessor.CONTEXT_KEY, new String[]{response.getContextKey()}); builder.addParameter(InboundConstants.RequestProcessor.CALL_BACK_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(InboundConstants.RequestProcessor.RELYING_PARTY, new String[]{response.getRelyingParty()}); builder.addParameter(InboundConstants.RequestProcessor.AUTH_TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); return builder; } }
@Override public HttpIdentityResponse.HttpIdentityResponseBuilder create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLoginResponse response = (FrameworkLoginResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(InboundConstants.RequestProcessor.CONTEXT_KEY, new String[]{response.getContextKey()}); builder.addParameter(InboundConstants.RequestProcessor.CALL_BACK_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(InboundConstants.RequestProcessor.RELYING_PARTY, new String[]{response.getRelyingParty()}); builder.addParameter(InboundConstants.RequestProcessor.AUTH_TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); return builder; } }
@Override public HttpIdentityResponse.HttpIdentityResponseBuilder create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { SAMLCloudFrameworkLogoutResponse response = (SAMLCloudFrameworkLogoutResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(InboundConstants.RequestProcessor.CONTEXT_KEY, new String[]{response.getContextKey()}); builder.addParameter(InboundConstants.RequestProcessor.CALL_BACK_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(InboundConstants.RequestProcessor.RELYING_PARTY, new String[]{response.getRelyingParty()}); builder.addParameter(InboundConstants.RequestProcessor.AUTH_TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); return builder; }
@Override public void create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLogoutResponse response = (FrameworkLogoutResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(FrameworkConstants.SESSION_DATA_KEY, new String[]{response.getContextKey()}); builder.addParameter(FrameworkConstants.RequestParams.CALLER_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(FrameworkConstants.RequestParams.ISSUER, new String[]{response.getRelyingParty()}); builder.addParameter(FrameworkConstants.RequestParams.TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); }
public HttpIdentityResponse.HttpIdentityResponseBuilder handleException(FrameworkException exception) { HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse.HttpIdentityResponseBuilder(); String errorMessage = ""; if (ErrorCodes.META_DATA_VALIDATION_FAILED.name().equals(exception.getErrorCode())) { errorMessage = generateErrorResponse(INVALID_CLIENT_METADATA, exception.getMessage()).toJSONString(); } else if (ErrorCodes.BAD_REQUEST.name().equals(exception.getErrorCode())) { errorMessage = generateErrorResponse(BACKEND_FAILED, exception.getMessage()).toJSONString(); } builder.setBody(errorMessage); builder.setStatusCode(HttpServletResponse.SC_BAD_REQUEST); builder.addHeader(OAuthConstants.HTTP_RESP_HEADER_CACHE_CONTROL, OAuthConstants.HTTP_RESP_HEADER_VAL_CACHE_CONTROL_NO_STORE); builder.addHeader(OAuthConstants.HTTP_RESP_HEADER_PRAGMA, OAuthConstants.HTTP_RESP_HEADER_VAL_PRAGMA_NO_CACHE); builder.addHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON); return builder; }
@Override public void create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLoginResponse response = (FrameworkLoginResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(FrameworkConstants.SESSION_DATA_KEY, new String[]{response.getContextKey()}); builder.addParameter(FrameworkConstants.RequestParams.CALLER_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(FrameworkConstants.RequestParams.ISSUER, new String[]{response.getRelyingParty()}); builder.addParameter(FrameworkConstants.RequestParams.TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); }
@Override public void create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLogoutResponse response = (FrameworkLogoutResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(FrameworkConstants.SESSION_DATA_KEY, new String[]{response.getContextKey()}); builder.addParameter(FrameworkConstants.RequestParams.CALLER_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(FrameworkConstants.RequestParams.ISSUER, new String[]{response.getRelyingParty()}); builder.addParameter(FrameworkConstants.RequestParams.TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); }
@Override public void create( HttpIdentityResponse.HttpIdentityResponseBuilder builder, IdentityResponse identityResponse) { FrameworkLoginResponse response = (FrameworkLoginResponse)identityResponse; builder.setStatusCode(HttpServletResponse.SC_FOUND); builder.addParameter(InboundConstants.RequestProcessor.AUTH_NAME, new String[]{response.getAuthName()}); builder.addParameter(FrameworkConstants.SESSION_DATA_KEY, new String[]{response.getContextKey()}); builder.addParameter(FrameworkConstants.RequestParams.CALLER_PATH, new String[]{response.getCallbackPath()}); builder.addParameter(FrameworkConstants.RequestParams.ISSUER, new String[]{response.getRelyingParty()}); builder.addParameter(FrameworkConstants.RequestParams.TYPE, new String[]{response.getAuthType()}); builder.setRedirectURL(response.getRedirectUrl()); }
@Override public HttpIdentityResponse.HttpIdentityResponseBuilder handleException(FrameworkClientException exception, HttpServletRequest request, HttpServletResponse response) { HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse .HttpIdentityResponseBuilder(); String errorMessage = generateErrorResponse(INVALID_CLIENT_METADATA, exception.getMessage()).toJSONString(); builder.setBody(errorMessage); builder.setStatusCode(HttpServletResponse.SC_BAD_REQUEST); builder.addHeader(OAuthConstants.HTTP_RESP_HEADER_CACHE_CONTROL, OAuthConstants.HTTP_RESP_HEADER_VAL_CACHE_CONTROL_NO_STORE); builder.addHeader(OAuthConstants.HTTP_RESP_HEADER_PRAGMA, OAuthConstants.HTTP_RESP_HEADER_VAL_PRAGMA_NO_CACHE); builder.addHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON); return builder; }
private HttpIdentityResponse.HttpIdentityResponseBuilder sendResponse(IdentityResponse identityResponse) { CASLoginResponse loginResponse = ((CASLoginResponse) identityResponse); HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse .HttpIdentityResponseBuilder(); Cookie cookie = loginResponse.getCasCookie(); String serviceTicketId = loginResponse.getServiceTicketId(); String redirectUrl = loginResponse.getRedirectUrl(); Map<String, String[]> queryParams = new HashMap(); queryParams.put(CASSSOConstants.SERVICE_TICKET_ARGUMENT, new String[]{serviceTicketId}); builder.addCookie(cookie); builder.setParameters(queryParams); builder.setRedirectURL(redirectUrl); builder.setStatusCode(HttpServletResponse.SC_MOVED_TEMPORARILY); return builder; }
public HttpIdentityResponse.HttpIdentityResponseBuilder handleException(RuntimeException exception, HttpServletRequest request, HttpServletResponse response) { HttpIdentityResponse.HttpIdentityResponseBuilder builder = new HttpIdentityResponse.HttpIdentityResponseBuilder(); builder.setStatusCode(500); return builder; } }
@Override public HttpIdentityResponse.HttpIdentityResponseBuilder create(IdentityResponse identityResponse) { HttpIdentityResponse.HttpIdentityResponseBuilder responseBuilder = new HttpIdentityResponse.HttpIdentityResponseBuilder(); create(responseBuilder, identityResponse); return responseBuilder; }