我正在开发一个用户可以使用AWS Cognito登录的Web应用程序。使用AWS凭据登录后,我正在连接到AWS IoT设备,如
var device = AwsIot.device({
clientId: clientID,
host: host,
accessKeyId: credentials.accessKeyId,
secretKey: credentials.secretAccessKey,
protocol: 'wss',
sessionToken: credentials.sessionToken,
offlineQueueing: 'false'
});
然后,一旦用户使用
使用AWS Cognito从应用程序注销cognitoUser.signOut();
然后在注销后我想断开AWS IoT设备的连接。 现在我甚至在注销后看到设备正在收听像
这样的事件device.on('close', function() {})
device.on('error', function() {})
device.on('offline', function() {})
有人可以指定我应该调用哪个功能来断开设备,以便它也不会听这些事件。
我正在阅读文档https://github.com/aws/aws-iot-device-sdk-js但我没有任何具体的功能。
此外,我使用AWS凭证连接AWS IoT设备,一旦我从Cognito注销,我认为该设备应该已自动断开连接。请告诉我这里的方法应该是什么。
答案 0 :(得分:1)
我从AWS IOT支持团队那里得到了答案。
AwsIot.device
类是MQTT类的包装器,带有帮助程序以帮助连接到AWS端点要断开设备连接,可以调用device.end();
这将关闭连接并调用{{1} }。至于Cognito退出。这不会使Cognito已提供的用于建立连接的会话凭据无效。它们将继续有效,直到它们的假定角色时间到期为止。