Hello,
I draw a new diagram [1] to illustrate a simpler authentication flow for sensors.
For this authentication flow, the SensorWeb client needs to get an API key and API secret by an external mechanism outside of the scope of this flow. For now, it can be an offline and manual process. 3rd party devs can contact us directly in order to register new clients.
In this model, sensors will authenticate themselves with a bearer token (a signed JWT [2]) that they will get as part of its registration process. Each token will be unique per sensor and it will link it to the specific API client.
The registration flow for a new sensor would be something like:
1. With an API key and secret a SensorWeb client can start a sensor registration flow by requesting a registration token to the SensorWeb server. This request needs to be authenticated with a JWT containing the client's API key in its claims and signed with the client's API secret.
2. If the server receives a valid request, it will generate a signed registration token with a short TTL (i.e. 15 min) and scope