Authentication with Username or Telephone

Starting from the Enterprise version 8.7.0.0, you can log into the KonaKart engine (KKEngIf) using the customer's username or telephone number rather than the eMail address.

The API call that must be used is loginWithOptions(LoginInputIf input) since in the LoginInput parameter you can specify whether you want to use the eMail address, the username or the customer's primary or secondary telephone numbers.

If you allow a customer to use the username or telephone number to login, you may want to guarantee their uniqueness whenever a customer registers or customer information is edited. During registration both the CustomerRegistration and AdminCustomerRegistration objects have boolean attributes ( telephoneUnique , telephone1Unique and usernameUnique ) that when set, instruct KonaKart to throw an exception if a registered customer already exists with the same username or telephone number. In the KonaKart Admin App the uniqueness check can be configured using configuration variables in konakartadmin_gwt.properties (see online help for more details). When using telephone numbers, in order for the check to work properly you should enforce a common formatting of the numbers whenever they are entered into the KonaKart system.

The KKEngIf API call you should use for editing customer information is editCustomerWithOptions() and for KKAdminIf is updateCustomerWithOptions . Both API calls have an options parameter object, where in a similar fashion as for registration you can set telephoneUnique , telephone1Unique and usernameUnique to test that a registered customer doesn't already exists with the same username or telephone number.

Note that by default the customers_username , customers_telephone and customers_telephone_1 columns of the customers database table have not be assigned indexes. If you do decide to use them for logging in, you may want to consider adding an index for performance.