Connection.passwordAuthenticate()

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

    public func passwordAuthenticate(username: String, password: String) throws 

PARAMETERS

username:
The username (note: use the empty string if using for Password Open Pairing, see https://docs.nabto.com/developer/guides/iam/pairing.html)
password:
The password (typically the open (global) or invite (per-user) pairing password)

THROWS ERRORS

UNAUTHORIZED:
if the username or password is invalid
NOT_FOUND:
if the password authentication feature is not available on the device
NOT_CONNECTED:
if the connection is not open
OPERATION_IN_PROGRESS:
if a password authentication request is already in progress on the connection
TOO_MANY_REQUESTS:
if too many password attempts has been made
STOPPED:
if the client is stopped