IConnection.PasswordAuthenticateAsync()

DESCRIPTION

Do a password authentication exchange with a device. Blocks until authentication attempt is complete.

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.

DECLARATION

System.Threading.Tasks.Task PasswordAuthenticateAsync(System.String, System.String)

ERRORS

  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_UNAUTHORIZED if the username and/or password is invalid.
  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_NOT_FOUND if the password authentication feature is not available on the device.
  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_NOT_CONNECTED if the connection is not established.
  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_OPERATION_IN_PROGRESS if a password authentication request is already in progress on the connection.
  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_TOO_MANY_REQUESTS if too many password attempts has been made.
  • T:Nabto.Edge.Client.NabtoException: Thrown with error code NABTO_CLIENT_EC_STOPPED if the client or connection is stopped.

RETURNS

Task completed when the close succeeds or fails.