nabto_client_connection_password_authenticate()

DESCRIPTION

Password authenticate, do a password authentication exchange with a device.

Password authenticate the client and the device. The password authentication is bidirectional and based on PAKE, such that both the client and the device learns that the other end knows the password, without revealing the password to the other end.

A specific use case for the password authentication is to prove the identity of a device which identity is not already known, e.g. in a pairing scenario.

Future status:

  • NABTO_CLIENT_EC_OK if the authentication went well.
  • NABTO_CLIENT_EC_UNAUTHORIZED if the username and/or password is invalid
  • NABTO_CLIENT_EC_NOT_FOUND if the password authentication feature is not available on the device.
  • NABTO_CLIENT_EC_NOT_CONNECTED if the connection is not established yet.
  • NABTO_CLIENT_EC_OPERATION_IN_PROGRESS if a password authentication request is already in progress on the connection.
  • NABTO_CLIENT_EC_TOO_MANY_REQUESTS if too many password attempts has been made.
  • NABTO_CLIENT_EC_STOPPED if the connection is stopped.

DECLARATION

NABTO_CLIENT_DECL_PREFIX void NABTO_CLIENT_API
nabto_client_connection_password_authenticate(NabtoClientConnection* connection, const char* username, const char* password, NabtoClientFuture* future)

PARAMETERS

connection:
[in] The connection
username:
[in] The username
password:
[in] The password
future:
[in] The future with the result