dbudwin / RoboHome-Web

RoboHome-Web is the codebase that represents the frontend of the RoboHome project. The web interface provides a way to create users, add and manage devices, and an additional way to control devices. :robot: :house_with_garden:
GNU General Public License v3.0
9 stars 17 forks source link

Add page for user settings #75

Open dbudwin opened 7 years ago

dbudwin commented 7 years ago

There will need to be a page for user settings that will be useful for current and future functionality. This page should allow the user to enter and edit MQTT information (channel, server, user, password, port) which will be shared with the ESP-8266 to reduce the number of settings that have to go into the sketch. It should also display known user information like email address, Amazon user ID, etc.

dbudwin commented 7 years ago

A potential problem...currently the MQTT broker password is stored in two locations, in the .env file and in the sketch loaded onto the ESP-8266. Ideally, this user settings page will be the only place for that password. However, the solution will need to be engineered in a way where the password can be encrypted (note, not hashed) so that it can be stored in the database and then transmitted to the ESP-8266 where it can be decrypted. The question is, does the ESP-8266 have the processing power to decrypt the password? Will this really save a step by not having to input the password in two locations? How will a key for decrypting the password be placed on the ESP-8266? Will that alone make it not worthwhile and better to just hardcode the password into the sketch?