Parisson / TimeSide

scalable audio processing framework and server written in Python
https://timeside.ircam.fr/docs/
GNU Affero General Public License v3.0
369 stars 59 forks source link

[API] Define workflow for API consumers #186

Open gnuletik opened 4 years ago

gnuletik commented 4 years ago

As talked in #165 we should define (and implements in the future) the workflow to provide API tokens to the users of the Timeside API.

Here's a first draft adapted from @yomguy's comments

  1. the Developer creates an account and request an access to the API
  2. the Admin or a method validate the access
  3. the Developer receives a token to use in his app
  4. the Developer use the tokens to setup its own client application consuming the API

Before releasing this, we should be able to monitor the following data :

We should be able to filter this data for each token / app / client in order to prevent abuse of the infrastructure and eventually scale.

We should also add django methods or API calls or UI to let admin remove a client access We should also think about a ratio system (by API calls ? by worker's processing time ? By number of analyzed seconds in an audio file ?)

Any thoughts ?