Vue d’ensemble
L’API User permet de gerer les comptes utilisateurs de Fess. Vous pouvez creer, mettre a jour, supprimer des utilisateurs et configurer leurs permissions.
URL de base
/api/admin/user
Liste des endpoints
| Methode | Chemin | Description |
|---|---|---|
| GET/PUT | /settings | Obtention de la liste des utilisateurs |
| GET | /setting/{id} | Obtention d’un utilisateur |
| POST | /setting | Creation d’un utilisateur |
| PUT | /setting | Mise a jour d’un utilisateur |
| DELETE | /setting/{id} | Suppression d’un utilisateur |
Obtention de la liste des utilisateurs
Requete
GET /api/admin/user/settings
PUT /api/admin/user/settings
Parametres
| Parametre | Type | Requis | Description |
|---|---|---|---|
size | Integer | Non | Nombre d’elements par page (par defaut : 20) |
page | Integer | Non | Numero de page (commence a 0) |
Reponse
{
"response": {
"status": 0,
"settings": [
{
"id": "user_id_1",
"name": "admin",
"surname": "Administrator",
"givenName": "System",
"mail": "admin@example.com",
"roles": ["admin"],
"groups": []
}
],
"total": 10
}
}
Obtention d’un utilisateur
Requete
GET /api/admin/user/setting/{id}
Reponse
{
"response": {
"status": 0,
"setting": {
"id": "user_id_1",
"name": "admin",
"surname": "Administrator",
"givenName": "System",
"mail": "admin@example.com",
"telephoneNumber": "",
"homePhone": "",
"homePostalAddress": "",
"labeledUri": "",
"roomNumber": "",
"description": "",
"title": "",
"pager": "",
"street": "",
"postalCode": "",
"physicalDeliveryOfficeName": "",
"destinationIndicator": "",
"internationaliSDNNumber": "",
"state": "",
"employeeNumber": "",
"facsimileTelephoneNumber": "",
"postOfficeBox": "",
"initials": "",
"carLicense": "",
"mobile": "",
"postalAddress": "",
"city": "",
"teletexTerminalIdentifier": "",
"x121Address": "",
"businessCategory": "",
"registeredAddress": "",
"displayName": "",
"preferredLanguage": "",
"departmentNumber": "",
"uidNumber": "",
"gidNumber": "",
"homeDirectory": "",
"roles": ["admin"],
"groups": []
}
}
}
Creation d’un utilisateur
Requete
POST /api/admin/user/setting
Content-Type: application/json
Corps de la requete
{
"name": "testuser",
"password": "securepassword",
"surname": "Test",
"givenName": "User",
"mail": "testuser@example.com",
"roles": ["user"],
"groups": ["group_id_1"]
}
Description des champs
| Champ | Requis | Description |
|---|---|---|
name | Oui | Nom d’utilisateur (identifiant de connexion) |
password | Oui | Mot de passe |
surname | Non | Nom de famille |
givenName | Non | Prenom |
mail | Non | Adresse email |
telephoneNumber | Non | Numero de telephone |
roles | Non | Tableau des IDs de roles |
groups | Non | Tableau des IDs de groupes |
Reponse
{
"response": {
"status": 0,
"id": "new_user_id",
"created": true
}
}
Mise a jour d’un utilisateur
Requete
PUT /api/admin/user/setting
Content-Type: application/json
Corps de la requete
{
"id": "existing_user_id",
"name": "testuser",
"password": "newpassword",
"surname": "Test",
"givenName": "User Updated",
"mail": "testuser.updated@example.com",
"roles": ["user", "editor"],
"groups": ["group_id_1", "group_id_2"],
"versionNo": 1
}
Reponse
{
"response": {
"status": 0,
"id": "existing_user_id",
"created": false
}
}
Suppression d’un utilisateur
Requete
DELETE /api/admin/user/setting/{id}
Reponse
{
"response": {
"status": 0,
"id": "deleted_user_id",
"created": false
}
}
Exemples d’utilisation
Creation d’un nouvel utilisateur
curl -X POST "http://localhost:8080/api/admin/user/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "john.doe",
"password": "SecureP@ss123",
"surname": "Doe",
"givenName": "John",
"mail": "john.doe@example.com",
"roles": ["user"],
"groups": []
}'
Modification des roles d’un utilisateur
curl -X PUT "http://localhost:8080/api/admin/user/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "user_id_123",
"name": "john.doe",
"roles": ["user", "editor", "admin"],
"versionNo": 1
}'
Informations complementaires
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
API Role - API de gestion des roles
API Group - API de gestion des groupes
Utilisateur - Guide de gestion des utilisateurs