具有nodejs mosca的身份验证和发布订阅

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

我正在使用js上的mosca创建一个物联网服务。它不断崩溃到订阅区域,我无法显示收到的消息。

  1. 如何防止其崩溃。
  2. 如何查看收到的消息?

我如何在authorizeSubscribe字段中看到传入的消息?同时authorizeSubscribe字段崩溃

 const mosca = require('mosca');

 const settings = {
     port: 1883,
 };

 const server = new mosca.Server(settings);
 server.on('ready', setup);

 function setup() {
     server.authenticate = authenticate;
     server.authorizePublish = authorizePublish;
     server.authorizeSubscribe = authorizeSubscribe;

     console.log('Mosca server is up and running');
 }

 const authenticate = function(client, username, password, callback) {
     console.log("authenticatealanı", username + " " + password);

     const authorized = (username === 'alice' && password.toString() === 'secret');
     if (authorized) client.user = username;
     callback(null, authorized);
 };


 // In this case the client authorized as alice can publish to /users/alice taking
 // the username from the topic and verifing it is the same of the authorized user
 const authorizePublish = function(client, topic, payload, callback) {
     console.log("authorizePublish " + topic + " "+ payload);

     //callback(null, client.user === topic.split('/')[1]);
 };



 // In this case the client authorized as alice can subscribe to /users/alice taking
 // the username from the topic and verifing it is the same of the authorized user
 const authorizeSubscribe = function(client, topic, message, callback) {
     console.log("new Data Auth subscribe"+ topic );

     console.log(message);

     //callback(null, client.user === topic.split('/')[1]);
 };
node.js mqtt iot mosca
1个回答
0
投票

如果您的授权函数从不调用传入的callback,则它们将永远不会授权任何东西...

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