Hello Vojtech,
thanks a lot for your input and updating your solution for 3.x.
I chose a slightly different approach by implementing a PropertiesFunction, so
that we don't have to place every password in the registry.
The PropertiesFunction looks up the password in an pre-existing internal cache
when Camel resolves the URI.
The only hurdle with that approach I've noticed so far is that the properties
are resolved too early when the property-tag is not encoded - which the URI
encoding class we've been using didn't.
For example, this works with special characters in the password:
pop3://localhost:3110/?username=test2&password=%7B%7Bmypw%3Apwd2%7D%7D
but this doesn't:
pop3://localhost:3110/?username=test2&password={{mypw:pwd2}}
That was a bit surprising, but I think completely encoding query parameter
values is more correct anyway.
I've tested with the approach with the Camel Mail component and a custom
component of ours and it works fine so far.
Best regards,
Florian
________________________________
From: Vojtech Fried <[email protected]>
Sent: Monday, June 8, 2020 10:10
To: [email protected] <[email protected]>
Subject: Re: Passwords in Camel endpoint URIs and limitations of RAW syntax
As Claus pointed out, the correct syntax is now #bean:<name>.
/Vojtech