rabbitmq / rabbitmq-web-mqtt

Provides support for MQTT over WebSockets
Other
55 stars 16 forks source link

Client Id Missing In Authentication #33

Closed amalikctec closed 5 years ago

amalikctec commented 6 years ago

Hi

RabbitMQ version: 3.7.8 (official docker image)

We have setup the http authentication backend on RabbitMQ to do custom authentication of MQTT devices. We will support both TCP and Websocket based transports. However we are seeing some inconsistency in how the TCP and the Websocket (web-mqtt) backends are authenticating the device.

When using TCP the following URI is used:

http:///rabbitmq_auth/user?username=userA&password=df3facf6057258a9346a5ae0ff3f3996&vhost=%2F&client_id=65e2332a-0dd8-4b66-b989-1dea138a21cc

The TCP backend is sending the client Id (parameter) in addition to the username, password and vhost.

However the WebScoket backend seems to be using the following URI: http:///user?username=userA&password=df3facf6057258a9346a5ae0ff3f3996&vhost=%2F

It does not seem to be sending the client Id parameter when authenticating the device.

Is it possible to send the client Id from the websocket backend as well? It will make the authentication consistent on our end.

Please let me know if we can provide anything from our end to help with this issue.

Thanks

michaelklishin commented 6 years ago

We plan on refactoring this plugin for 3.7.9 for unrelated reasons but will take a look.

amalikctec commented 6 years ago

Good to hear.

michaelklishin commented 5 years ago

Moved to https://github.com/rabbitmq/rabbitmq-mqtt/issues/168 since this plugin cannot support what the MQTT one does not.