if (!allowImpersonation) { return Optional.of(OutboundSecurityResponse.builder() .description( "Attempting to impersonate a user, when impersonation is not allowed" + " for JWT provider") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); .description("Cannot do explicit user propagation if no kid is defined.") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); } else {
.requestHeaders(newHeaders) .status(SecurityResponse.SecurityStatus.SUCCESS); builder.requestHeader("Signature", signature.toSignatureHeader()); break; case AUTHORIZATION: builder.requestHeader("Authorization", "Signature " + signature.toSignatureHeader()); break; default: builder.requestHeader("host", headers.get("host")); builder.requestHeader("date", headers.get("date")); return builder.build(); }).orElse(OutboundSecurityResponse.empty());
if (!allowImpersonation) { return Optional.of(OutboundSecurityResponse.builder() .description( "Attempting to impersonate a user, when impersonation is not allowed" + " for JWT provider") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); .description("Cannot do explicit user propagation if no kid is defined.") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); } else {
if (!allowImpersonation) { return Optional.of(OutboundSecurityResponse.builder() .description( "Attempting to impersonate a user, when impersonation is not allowed" + " for JWT provider") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); .description("Cannot do explicit user propagation if no kid is defined.") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); } else {
if (!allowImpersonation) { return Optional.of(OutboundSecurityResponse.builder() .description( "Attempting to impersonate a user, when impersonation is not allowed" + " for JWT provider") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); .description("Cannot do explicit user propagation if no kid is defined.") .status(SecurityResponse.SecurityStatus.FAILURE) .build()); } else {
/** * Get an instance of builder to build custom identity propagation response. * * @return Builder instance */ public static Builder builder() { return new Builder(); }
/** * Create a response with these headers. Only needs additional headers (e.g. actual headers sent with * request will be existing headers + headers provided here). * * @param headers Headers to add to request to propagate identity (can also be used to delete headers, if the value list * is empty) * @return response correctly initialized */ public static OutboundSecurityResponse withHeaders(Map<String, List<String>> headers) { return builder().status(SecurityStatus.SUCCESS).requestHeaders(headers).build(); }