feat: 🎸 authenticate webhooks sent by the Hub
The authentication is done with a shared secret passed in X-Webhook-Secret header. If not trusted, a log is recorded and only add/update are taken into account. I.e. move and delete required the sender to be trusted. Also: before, requests were sent to the Hub to check if the dataset was supported by the datasets-server. Now, we always create the job, and it's its responsibility to check the dataset is supported. This way: a valid webhook should always be taken into account. See #950 for antecedents.
feat: 🎸 authenticate webhooks sent by the Hub: The authentication is done with a shared secret passed in X-Webhook-Secret header. If not trusted, a log is recorded and only add/update are taken into account. I.e. move and delete required the sender to be trusted. Also: before, requests were sent to the Hub to check if the dataset was supported by the datasets-server. Now, we always create the job, and it's its responsibility to check the dataset is supported. This way: a valid webhook should always be taken into account. See #950 for antecedents.