[ 
https://issues.apache.org/jira/browse/CXF-9070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17891774#comment-17891774
 ] 

Dmytro Sylaiev edited comment on CXF-9070 at 10/22/24 8:31 AM:
---------------------------------------------------------------

Hello [~reta] I see what you mean, thank you, I'll double check if token 
endpoint returns Content-Type header.

 

But also it doesn't mask the sensitive content in the URL parameters in the 
HTTPConduit log record:
{quote}[DEBUG] 16:46:08 org.apache.cxf.transport.http.HTTPConduit- Conduit 
"WebClient.http-conduit" Transmit cached message to: 
[http://localhost:8080/oauth/client_credentials/form/token:] 
grant_type=client_credentials&client_id=1234567890&client_secret={*}SECRET1234567890SECRET{*}
{quote}
Is it possible to configure logging feature to mask it? The documentation is 
not very explicit for it


was (Author: dsylaiev):
Hello [~reta] I see what you mean, thank you, I'll double check if token 
endpoint returns Content-Type header.

 

But also it doesn't mask the sensitive content in the URL parameters in the 
HTTPConduit log record:
{quote}[DEBUG] 16:46:08 org.apache.cxf.transport.http.HTTPConduit- Conduit 
"{[http://localhost:8080/oauth/client_credentials/form/token]}WebClient.http-conduit";
 Transmit cached message to: 
[http://localhost:8080/oauth/client_credentials/form/token:] 
grant_type=client_credentials&client_id=1234567890&client_secret={*}SECRET1234567890SECRET{*}
{quote}
Is it possible to configure logging feature to mask it? The documentation is 
not very explicit for it

> CXF LoggingFeature still logging sensitive content 
> ---------------------------------------------------
>
>                 Key: CXF-9070
>                 URL: https://issues.apache.org/jira/browse/CXF-9070
>             Project: CXF
>          Issue Type: Bug
>            Reporter: Dmytro Sylaiev
>            Priority: Major
>
> I was trying to enable the LoggingFeature for my cxf client to hide some info 
> in log.debug:
> Here's my code to create a WebClient and invoke the request:
> {noformat}
> LoggingFeature loggingFeature = new LoggingFeature();
> final Slf4jEventSender sender = new Slf4jEventSender();
> loggingFeature.setSender(sender);
> Set<String> secrets = new HashSet<>();
> secrets.add("access_token");
> secrets.add("client_secret");
> loggingFeature.setSensitiveElementNames(secrets);
> loggingFeature.setSensitiveProtocolHeaderNames(secrets);
> this.webClient = WebClient.create(url, Collections.emptyList(), 
> Collections.singletonList(loggingFeature), null);
> ...
> webClient.invoke(...){noformat}
> My HTTP client flow is: I am requesting GET localhost/oauth/form/token form 
> query using client id and client secret and parsing the response metadata to 
> get the oauth2 token and then set this token to the Authorization header to 
> the main request and then send GET localhost/oauth/resource
> Despite the logging feature is now active and present in the classpath&I see 
> it's handling logs there's still sensitive information in logs:
> {noformat}
> [DEBUG] 16:46:08 org.apache.cxf.transport.http.HTTPConduit- Conduit 
> "{http://localhost:8080/oauth/client_credentials/form/token}WebClient.http-conduit";
>  Transmit cached message to: 
> http://localhost:8080/oauth/client_credentials/form/token: 
> grant_type=client_credentials&client_id=1234567890&client_secret=SECRET1234567890SECRET
> ...
> [INFO ] 16:46:09 org.apache.cxf.services.WebClient.RESP_IN- {
>   "access_token": "a-valide-token",
>   "token_type": "Bearer",
>   "expires_in": 5000
> }{noformat}
> Maybe I am misusing the LoggingFeature configuration but I did some debug and 
> not sure it can be used to hide sensitive information in URL request (to hide 
> HTTPConduit log) and in the response payload
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to