[ https://issues.apache.org/jira/browse/ARTEMIS-5316?focusedWorklogId=973943&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-973943 ]
ASF GitHub Bot logged work on ARTEMIS-5316: ------------------------------------------- Author: ASF GitHub Bot Created on: 09/Jul/25 08:31 Start Date: 09/Jul/25 08:31 Worklog Time Spent: 10m Work Description: bstlukasiewicz commented on code in PR #5822: URL: https://github.com/apache/activemq-artemis/pull/5822#discussion_r2194404324 ########## tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPConnectSaslTest.java: ########## @@ -115,6 +117,81 @@ public void testConnectsWithPlain() throws Exception { } } + @Test + @Timeout(20) + public void testConnectsWithXOauth2() throws Exception { + try (ProtonTestServer peer = new ProtonTestServer()) { + peer.expectSaslXOauth2Connect(USER, PASSWD); + peer.expectOpen().respond(); + peer.expectBegin().respond(); + peer.start(); + + final URI remoteURI = peer.getServerURI(); + logger.debug("Connect test started, peer listening on: {}", remoteURI); + + AMQPBrokerConnectConfiguration amqpConnection = + new AMQPBrokerConnectConfiguration(getTestName(), "tcp://localhost:" + remoteURI.getPort() + "?saslMechanisms=" + XOAUTH2); Review Comment: I implemented it according to the suggestion. Issue Time Tracking ------------------- Worklog Id: (was: 973943) Time Spent: 3h 40m (was: 3.5h) > Support for SASL XOAUTH2 Mechanism in Broker Connection > ------------------------------------------------------- > > Key: ARTEMIS-5316 > URL: https://issues.apache.org/jira/browse/ARTEMIS-5316 > Project: ActiveMQ Artemis > Issue Type: New Feature > Reporter: Tomasz Ćukasiewicz > Assignee: Timothy A. Bish > Priority: Major > Labels: pull-request-available > Time Spent: 3h 40m > Remaining Estimate: 0h > > There is a need to support XOAUTH2 authentication between two AMQP brokers, > as the existing mechanisms are not sufficiently secure for certain use cases. > Currently, Artemis does not support this authentication method on the client > side, and the SaslFactory implementation is both private and final, making it > impossible to extend. > To address this, an XOAuth2SASLMechanism should be implemented within the > AMQPBrokerConnection class and integrated into the SaslFactory. The new SASL > mechanism should return its name as "XOAUTH2" and include the appropriate > authentication headers. > A working example of this approach has been successfully tested with the > Solace broker: > {code:java} > @Override > public byte[] getInitialResponse() { > String response = String.format("user=%s\u0001auth=Bearer %s\u0001\u0001", > userName, token); > return response.getBytes(StandardCharsets.UTF_8); > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org For additional commands, e-mail: issues-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact