Users and downstream devices will need access to a Simple IoT instance. Simple IoT currently provides access via HTTP and NATS.
For cloud/server deployments, we recommend installing a web server like Caddy in front of Simple IoT. See the Installation page for more information.
Simple IoT Edge instances initiate all connections to upstream instances; therefore, no incoming connections are required on edge instances and all incoming ports can be firewalled.
The Web UI uses JWT (JSON web tokens).
Devices can also communicate via HTTP and use a simple auth token. Eventually may want to switch to JWT or something similar to what NATS uses.
NOTE, it is important to set an auth token -- otherwise there is no restriction on accessing the device API.
Currently devices communicating via NATS use a common auth token. It would be nice to move to something where each device has its own authentication (TODO, explore NATS advanced auth options).
Long term we plan to leverage the NATS security model for user and device authn/authz.: