WSO2 IoT 服务器连接的 cup 示例代理无法连接到 MQTT 代理

WSO2 IoT server connected cup sample agent failing to connect to MQTT broker

我已将 WSO2 物联网服务器 Connected Cup 示例设备代理导入 Eclipse IDE,当它尝试连接到 MQTT 代理时抛出一个 MQTTSecurityException,表明用户名或密码无效。我看到用户名是根据请求中的 token 属性创建的,但我不知道如何支持正确的用户名,即 OAuth2 服务可以接受的用户名。文档中没有关于此主题的任何提示,因此我将不胜感激任何建议。

此外,我想更深入地了解 VirtualFireAlarm 示例代码,请问您能告诉我在哪里可以找到代码吗?

wso2 物联网服务器中的 MQTT 代理具有可插入的身份验证和授权,默认情况下它带有基于 OAuth 的身份验证,它使用空密码并使用 OAuth 令牌作为用户名。您可以按照 https://docs.wso2.com/display/AM200/Password+Grant.

中的文档生成令牌

此扩展的实现在 https://medium.com/@ayyoobhamza/authentication-and-authorization-extension-for-mqtt-wso2-message-broker-2495fb2fa56e and https://medium.com/@ayyoobhamza/oauth-authentication-and-authorization-with-mqtt-for-iot-devices-a42019187a05

中进行了解释

可以在 https://github.com/wso2/carbon-device-mgt-plugins/tree/master/components/device-types/virtual-fire-alarm-plugin

中找到虚拟火警的实现