API REST : Permettre de créer un token d'authentification pour un utilisateur
Avoir la possibilité pour un utilisateur de créer un token d'authentification depuis les API REST.
La sécurisation devra se faire dans un premier temps via une clé d'API (sur le même modèle que l'API createuser) qu'il faudra probablement renforcer via une autre issue.
Fonctionnellement ce token d'authentification devra permettre d'authentifier un utilisateur ouvrant la pastille depuis une application de confiance
Techniquement il faudrait ajouter un nouvel endpoint du type /createusertoken au même niveau que ce qui a pu être fait dans la MR 766
Il faudrait que cela prenne cette forme :
curl -iX POST -H "X-API-KEY: createusertoken-password" -H "Content-Type: application/json" -d '{"email":"email@domaine.fr"}' http://localhost:3000/api/createusertoken
Avec un résultat du style :
{
"data": {
"authToken": "<authtoken>",
},
"success": true
}
La clé d'API pourra être définir dans le fichier de settings avec une entrée :
"createUserTokenApiKeys": \["createusertoken-password"\]
Pour référence ce type d'API est proposé par rocket.chat : https://developer.rocket.chat/reference/api/rest-api/endpoints/users-endpoints/create-users-token