@Override public boolean isOutboundSupported(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundConfig) { return providerRequest.securityContext() .user() .flatMap(subject -> subject.publicCredential(TokenCredential.class)) .flatMap(token -> token.getIssuer() .map(issuer -> issuer.endsWith(".google.com"))) .orElse(false); }
@Override protected OutboundSecurityResponse syncOutbound(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundEndpointConfig) { return providerRequest.securityContext() .user() .flatMap(subject -> subject.publicCredential(TokenCredential.class)) .map(token -> outboundSecurity(providerRequest, outboundEnv, outboundEndpointConfig, token)) .orElse(OutboundSecurityResponse.abstain()); }
return subject.publicCredential(TokenCredential.class) .map(tokenCredential -> propagate(jwtOutboundTarget, tokenCredential.token())); } else {
return subject.publicCredential(TokenCredential.class) .map(tokenCredential -> propagate(jwtOutboundTarget, tokenCredential.token())); } else {
return subject.publicCredential(TokenCredential.class) .map(tokenCredential -> propagate(jwtOutboundTarget, tokenCredential.token())); } else {
return subject.publicCredential(TokenCredential.class) .map(tokenCredential -> propagate(jwtOutboundTarget, tokenCredential.token())); } else {