IamUtil.pairPasswordOpen()

DESCRIPTION

Perform Password Open pairing, requesting the specified username and authenticating using the specified password.

In this mode a device has set a password which can be used in the pairing process to grant a client access to the device. The client can pair remotely to the device if necessary; it is not necessary to be on the same LAN.

Read more here: https://docs.nabto.com/developer/guides/concepts/iam/pairing.html#open-password

DECLARATION

    static public func pairPasswordOpen(connection: Connection, desiredUsername: String, password: String) throws 

PARAMETERS

connection:
An established connection to the device this client should be paired with
desiredUsername:
Assign this username on the device if available (pairing fails with .USERNAME_EXISTS if not)
password:
the common (not user-specific) password to allow pairing using Password Open pairing

THROWS ERRORS

USERNAME_EXISTS:
if desiredUsername is already in use on the device
AUTHENTICATION_ERROR:
if the open pairing password was invalid for the device
INVALID_INPUT:
if desiredUsername is not valid as per https://docs.nabto.com/developer/api-reference/coap/iam/post-users.html#request
INITIAL_USER_ALREADY_PAIRED:
if the initial user was already paired
BLOCKED_BY_DEVICE_CONFIGURATION:
if the device configuration does not support local open pairing (the IAM:PairingPasswordOpen action is not set for the Unpaired role or the device does not support the pairing mode at all)
TOO_MANY_WRONG_PASSWORD_ATTEMPTS:
if the client has attempted to authenticate too many times with a wrong password (try again after 10 seconds)
PAIRING_MODE_DISABLED:
if the pairing mode is configured on the device but is disabled at runtime
IAM_NOT_SUPPORTED:
if Nabto Edge IAM is not supported by the device