使用和保护rabbitmq mqtt websocket并在浏览器中使用它

问题描述 投票:0回答:2

我们需要一些异步工作者来执行大约1-2分钟的任务,然后向用户提供此任务的反馈。

想法是使用rabbitmq mqtt websocket插件,并在直接在浏览器中完成计算时向用户提供反馈。

对于我们的“旧”堆栈,我们有一些api端点作为用户(浏览器)和Rabbitmq服务之间的层,它们或多或少地起了作用,而忘记了。

如上所述,我们现在需要向用户websockets(rabbitmq mqtt插件)提供反馈。

但是我们想知道如何为每个用户保护公开的websocket端点?当前这不是问题,因为我们有X.509的amqps客户端。

我们的新功能需要具有公共访问权限,因此我们无法事先对用户进行身份验证。

是否有一种方法可以直接安全地使用暴露的端点,或者像现在一样需要在它们之间形成一层?

我们需要一些异步工作者来执行大约1-2分钟的任务,然后向用户提供此任务的反馈。这个想法是使用rabbitmq mqtt websocket插件,并在...

node.js browser websocket rabbitmq mqtt
2个回答
0
投票

RabbitMQ Web MQTT plugin支持TLS。然后,您可以使用用户名/密码来验证用户身份,或使用客户端证书。


0
投票

如果您使用可插入的身份验证源(很抱歉,不熟悉RabbitMQ在这里提供的功能),例如将用户/密码存储在数据库中。然后,您可以为每个会话生成一组短暂的凭据,并且该网页可以通过REST API向服务器请求这些凭据,然后使用这些凭据来验证WebSockets上的MQTT连接。

© www.soinside.com 2019 - 2024. All rights reserved.