Luís Alves created ARTEMIS-2952:
-----------------------------------
Summary: Extending ActiveMQXAConnectionFactory is limited by
readOnly being private
Key: ARTEMIS-2952
URL: https://issues.apache.org/jira/browse/ARTEMIS-2952
Project: ActiveMQ Artemis
Issue Type: Improvement
Affects Versions: 2.15.0
Reporter: Luís Alves
To be able to implement OpenID Connect authN on Artemis I had to extend
ActiveMQXAConnectionFactory to override the method:
{code:java}
protected synchronized ActiveMQConnection createConnectionInternal(final String
username,
final
String password,
final
boolean isXA,
final int
type) throws JMSException
{code}
This allows me to send and access token instead of the user:password pair. In
my implementation I leave username empty (flag) to tell the server that I wanna
use a token that is on the password field.
This currently works fine but I had to do some reflection to modify the
readOnly as it's private.
Can this flag be protected as well?
A possible alternative is to provide a way to pass the user and password using
a Supplier, so I can define a method that gets a new access token if the
current is expired. The token expiration also will cause some disconnections,
as the server will detect the token expired and disconnect the client. I don't
think there's any way I can update the connection credentials while the
connection is established, correct?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)