AWS IoT Core mqtt connection using username and password


Is there a way to make a mqtt connection with username and password instead of doing it using the certificates?

asked 3 months ago159 views
1 Answer

Hi there!

Yes, username and password are supported through custom authorizers. This uses an AWS Lambda function to evaluate the provided username and password and it returns either an allow or deny for the connection. You can find specifics here, and here is a sample in GitHub that demonstrates this feature.

Please let me know if this answers your question (accept answer), or if you require more clarification please comment.

answered 3 months ago
profile pictureAWS
reviewed 3 months ago
  • Thank you for your answer. I am still having problems with the connection using username and password. First of all, I created the lambda function. After that, I created the authorizer just adding the lambda function and activating it. I added the invokeFunction permission in Lambda too using the arn of the authorizer. I then tried to make the connection. Lambda doesn't give me any error. However, when connecting the node red to AWS with the username, password, port 443, endpoint and topic i can't send the message.

  • Custom authentication with username/password requires also setting the ALPN TLS extension and setting the SNI value. Node-RED's MQTT components provide for this via the tls-config config node, set the ALPN Protocol field to mqtt (details here). Also set the Server Name field to the custom authorizer fully qualified domain name.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions