Overview

The Authentication Method defines how end customers will be able to claim devices they own. There are a number of options to authenticate ownership of a device, each with different security levels and user comfort.


Authentication Method is the way End Customers authenticate their ownership of a device, NOT the way devices authenticate with the server.


Authentication Methods

When creating a new model in the portal, you’ll be asked to select the desired authentication method. The developers will then need to implement the relevant authentication flow.

The options are :

  1. Mac & Serial number - Uses the MAC address and serial number of the specific device.
  2. Cloud ID (Recommended!) - Uses a GUID consisting of a unique string for each device. See Generating a Cloud ID for instructions on creating Cloud IDs.
  3. Public Key - Coming soon
  4. X.509 Certificate - Coming soon

All device registration requests must include the appropriate values for the selected authentication method. Below are the examples for each authentication method.

Mac & Serial number

{
    "hardware_key": "",
    "mac": "",
    "sn": "",
    "firmware_version": "",
}

Cloud ID

{
    "hardware_key": "",
    "cloud_id": "",
    "sn": "",
    "firmware_version": "",
}

The response returned from the server will include the device_id and access_key of the device. Each request a registered device sends to Xyte's API must contain an HTTP Authorization header whose value is the device's access_key, and the device_id is used in the URL:

curl --location --request POST 'https://hub.xyte.io/v1/devices/{device_id}/telemetry' \
--header 'Content-Type: application/json' \
--header 'Authorization: xxx-xx...' \