【问题标题】:HiveMQ RESTful Authentication PluginHiveMQ RESTful 身份验证插件
【发布时间】:2014-01-29 17:17:25
【问题描述】:

我正在为在我的组织内部运行的专有服务器连接 RESTful API。我们正在使用 HiveMQ,我根据 HiveMQ 网站上非常有用的文档创建了一个简单的插件。

我还回顾了缓存和非阻塞的理念,因此了解我在编写插件代码时需要考虑这些。

我们的 RESTful API 已实现 Spring Security Remember-Me Auth,我们的 HiveMQ 插件将使用“有效”响应在 HiveMQ 中提供用户身份验证。

我的问题是是否有任何推荐与 HiveMQ 最佳接口的 Java RESTful 客户端?显然,我已经四处搜索并知道有多种选择。我希望对 HiveMQ 有更多经验的人可以提供有关哪些方面比其他人更好/没有更好/更差的见解。

干杯!

【问题讨论】:

    标签: java api rest mqtt hivemq


    【解决方案1】:

    理论上,Java 的所有 HTTP 客户端都应该在身份验证插件中工作。我知道 Apache HTTPClient 和 Netty,它们非常适合此类任务。我创建了一个示例插件 on Github 来展示 Apache HTTPClient 的概念证明。虽然 API 有点笨拙,但 HTTPClient 是坚如磐石的(而且是线程安全的!)。

    正如您已经说过的,当您想要使用该机制进行扩展时,适当的缓存非常重要。在 AuthenticationCallback 中阻塞不是问题,因为 HiveMQ 需要等待提供 RESTful API 的服务器的应答。不过,我个人会使用一个小的超时。

    我希望这有助于您开始使用 REST 身份验证。有关该主题的更深入讨论,还有HiveMQ Google Group

    【讨论】:

    • 感谢您的信息。我最终使用了迄今为止一直在工作的泽西岛。我可以使用我们的后端服务器进行身份验证,HiveMQ 将根据该结果允许/拒绝。我来看看 HiveMQ Google Group。
    • 如果有人感兴趣:我在这里写了一篇关于该主题的小博文:forkbomb-blog.de/2014/…