Renew Cognito credentials on MQTT reconnection #37
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Due to the websocket connection quota in AWS IoT, the websocket connection will be closed after 24 hours. The problem is the temporary credential from Cogninto has been out dated at that moment so we cannot reconnect then.
This PR aims to get new credentials from Cognito when the MQTT session is disconnected. Note that the callback (
onOffline
) does not block the process. It is possible that reconnection has already started with an old credential. The SDK will continue to retry, so it will eventually reconnect successfully once the new credentials are obtained.fixes #36