I'm trying to learn IoT development using an Arduino and Amazon's menu of services—Alexa Skill Kit, AWS Lambda, and AWS IoT. I've been able to get come a long way, but when I think about implementing these for like a fleet of devices, I can't figure out how to approach this problem:
For a headless device, how do you link a customer's device with that customer?
You can readily get a userID from Alexa whenever a user invokes your Alexa skill, and you can match that in your database to a customer, and potentially match that with a device registered to that customer—but how do you register a device to a customer? Would it have to be like having the customer enter a serial number in a UI somewhere? I had a thought that you could potentially use OAUTH to get a token from, e.g., a customer's Amazon account, send that to the device, and then have the device present both the token and its own identifier to your database. That way you have at least a link between their linked account and the device.
Does this sound like a reasonable approach? I haven't been able to find much about connecting particular devices to particular customer accounts, so any links with more information are very welcome.