We are developing an Android app that lets users/customers log in to an “account” and view real time data on their cellphones. To implement this I need some advice on what is the best practice for solving this.
1) Managing different users/clients:
We will most likely be using InfluxDB 2.0 Cloud hosted on Azure or AWS.
What is the best practice for segregating different clients/customers. Each customer has some data that is being constantly logged to a single bucket. Each client should only have read access to the measurements in that bucket.
Is it best to divide different clients into different orgainzations or is it sufficient to have one organization and several bucket?
2) User authentication/getting tokens:
At first we are developing for Android using java and was thinking of using the Java API to query the database:
For each user we need to pass a token, org and bucket information.
This info must be obtained after a user login or similar. Does influx 2.0 cloud have some solution for authentication or must there be a separate authentication server?
If we need to have a separate authentication server, what is the best way to make, renew and send tokens from the influx server to the client app? Server side CLI script?
Or am I thinking all wrong? Is there another prefered solution?