Vue d’ensemble
L’API User est une API REST pour gérer les comptes utilisateurs de Fess. Vous pouvez créer, récupérer, mettre à jour et supprimer des utilisateurs, et leur attribuer des rôles et des groupes.
Il s’agit d’une API d’administration ; son accès requiert une authentification par jeton d’accès administrateur. Consultez Vue d’ensemble de l’API Admin pour la méthode d’authentification et les spécifications communes.
Chaque réponse est encapsulée dans un objet response et contient les champs communs suivants :
version: La chaîne de version du produit Fess.status: Le code de statut du résultat (0= succès,1= requête invalide,2= erreur système,3= non autorisé,9= échec).
URL de base
Liste des endpoints
| Méthode | Chemin | Description |
|---|---|---|
| GET | /settings | Lister les utilisateurs |
| GET | /setting/{id} | Récupérer un utilisateur |
| POST | /setting | Créer un utilisateur |
| PUT | /setting | Mettre à jour un utilisateur |
| DELETE | /setting/{id} | Supprimer un utilisateur |
Lister les utilisateurs
Requête
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
size | Integer | Non | Nombre d’éléments par page. La valeur par défaut est la valeur configurée paging.page.size (par défaut : 25). |
page | Integer | Non | Numéro de page (commence à 1). La valeur par défaut est 1. |
Note
Dans l’implémentation actuelle, l’endpoint de liste des utilisateurs n’applique pas les paramètres size et page. Il retourne toujours la première page, avec le nombre d’éléments défini par le paramètre serveur paging.page.size (par défaut : 25), trié par nom d’utilisateur (name) en ordre croissant. Le nombre total d’utilisateurs correspondants est disponible dans response.total.
Réponse
settings: Le tableau des utilisateurs de la page courante.total: Le nombre total d’utilisateurs correspondants.
Récupérer un utilisateur
Requête
Spécifiez l’identifiant de document de l’utilisateur cible dans {id}.
Réponse
Note
attributes contient tous les attributs enregistrés pour l’utilisateur, à l’exception de name, password, roles et groups. password n’est pas inclus dans la réponse.
Créer un utilisateur
Requête
Corps de la requête
Description des champs
| Champ | Requis | Description |
|---|---|---|
name | Oui | Nom d’utilisateur (identifiant de connexion) |
password | Non | Mot de passe |
confirmPassword | Non | Mot de passe de confirmation |
attributes | Non | Map d’attributs (voir ci-dessous) |
roles | Non | Tableau des identifiants de rôles |
groups | Non | Tableau des identifiants de groupes |
Note
L’API REST n’effectue pas de vérification d’obligation du mot de passe, de vérification de correspondance entre password et confirmPassword, ni de validation de politique de mot de passe (celles-ci ne s’appliquent que dans l’interface d’administration). En pratique, il est recommandé de spécifier un password valide dont la valeur correspond à confirmPassword.
Les clés de attributes sont les noms d’attributs de l’entité utilisateur (les noms d’éléments dérivés du schéma LDAP). Les clés les plus courantes sont :
surname,givenName,displayName,mailtelephoneNumber,mobile,homePhoneemployeeNumber,title,description,homeDirectoryuidNumber,gidNumber
uidNumber et gidNumber doivent être numériques (leur type est validé lors de la mise à jour). De nombreuses autres clés d’attributs LDAP peuvent également être spécifiées.
Note
Lors de la création, l’identifiant de l’utilisateur (identifiant de document) est automatiquement généré comme la valeur encodée en Base64 URL du nom d’utilisateur (par exemple, le nom d’utilisateur admin devient YWRtaW4=).
Réponse
id: L’identifiant de document de l’utilisateur créé.created:truelors de la création.
Mettre à jour un utilisateur
Requête
Corps de la requête
Description des champs
| Champ | Requis | Description |
|---|---|---|
id | Oui | L’identifiant de document de l’utilisateur à mettre à jour. |
name | Oui | Nom d’utilisateur (identifiant de connexion) |
versionNo | Oui | Numéro de version (pour le verrouillage optimiste) |
password | Non | Nouveau mot de passe (mis à jour uniquement si spécifié) |
confirmPassword | Non | Mot de passe de confirmation |
attributes | Non | Map d’attributs (voir « Créer un utilisateur ») |
roles | Non | Tableau des identifiants de rôles |
groups | Non | Tableau des identifiants de groupes |
Note
Lors de la mise à jour, id, name et versionNo sont obligatoires. versionNo est la valeur retournée lors de la récupération de l’utilisateur cible (GET), et correspond à la version du document OpenSearch. Si elle ne correspond pas à la version actuelle, la requête est traitée comme un conflit et la mise à jour est rejetée.
Réponse
created:falsepour une mise à jour.
Supprimer un utilisateur
Requête
Spécifiez l’identifiant de document de l’utilisateur à supprimer dans {id}.
Note
Vous ne pouvez pas supprimer l’utilisateur actuellement connecté.
Réponse
id: L’identifiant de document de l’utilisateur supprimé.
Exemples d’utilisation
Créer un nouvel utilisateur
Modifier les rôles d’un utilisateur
Références
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
API Role - API de gestion des rôles
API Group - API de gestion des groupes
Utilisateur - Guide de gestion des utilisateurs