Visión General
La API de User es una API REST para gestionar cuentas de usuario de Fess. Permite crear, obtener, actualizar y eliminar usuarios, además de asignar roles y grupos.
Esta es una API de administración, y el acceso requiere autenticación con un token de acceso de administrador. Consulte Visión General de Admin API para conocer el método de autenticación y las especificaciones comunes.
Cada respuesta está envuelta en un objeto response e incluye los siguientes campos comunes:
version: La cadena de versión del producto Fess.status: El código de estado del resultado (0=éxito,1=solicitud incorrecta,2=error del sistema,3=no autorizado,9=fallo).
URL Base
Lista de Endpoints
| Método | Ruta | Descripción |
|---|---|---|
| GET | /settings | Listar usuarios |
| GET | /setting/{id} | Obtener usuario |
| POST | /setting | Crear usuario |
| PUT | /setting | Actualizar usuario |
| DELETE | /setting/{id} | Eliminar usuario |
Listar Usuarios
Solicitud
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
size | Integer | No | Número de elementos por página. El valor predeterminado es el valor configurado paging.page.size (predeterminado: 25). |
page | Integer | No | Número de página (comienza en 1). El valor predeterminado es 1. |
Nota
En la implementación actual, el endpoint de lista de usuarios no aplica los parámetros size y page. Siempre devuelve la primera página, con el número de elementos definido por la configuración del servidor paging.page.size (predeterminado: 25), ordenado por nombre de usuario (name) en orden ascendente. El número total de usuarios coincidentes está disponible en response.total.
Respuesta
settings: El array de usuarios en la página actual.total: El número total de usuarios coincidentes.
Obtener Usuario
Solicitud
Especifique el ID de documento del usuario objetivo en {id}.
Respuesta
Nota
attributes incluye todos los atributos almacenados para el usuario, excepto name, password, roles y groups. password no se incluye en la respuesta.
Crear Usuario
Solicitud
Cuerpo de la Solicitud
Descripción de Campos
| Campo | Requerido | Descripción |
|---|---|---|
name | Sí | Nombre de usuario (ID de inicio de sesión) |
password | Sí | Contraseña |
confirm_password | No | Contraseña de confirmación |
attributes | No | Mapa de atributos (véase más adelante) |
roles | No | Array de IDs de roles |
groups | No | Array de IDs de grupos |
Nota
En roles y groups indique el ID del rol o del grupo, no su nombre. Un ID que no existe (incluido el nombre de un rol o de un grupo) se rechaza con 400. Los ID se pueden consultar en el id que devuelven GET /api/admin/role/settings y GET /api/admin/group/settings. El ID de un rol o grupo creado en la interfaz de administración o mediante la API es su nombre codificado en Base64 URL (por ejemplo, YWRtaW4= para el rol admin y Z3Vlc3Q= para guest, que existen por defecto).
Nota
Se aplican las mismas verificaciones de contraseña que en la interfaz de administración. Se rechazan con 400 una creación sin password, un confirm_password que no coincide con password (confirm_password puede omitirse) y una contraseña que incumple la política de contraseñas (password.min.length (por defecto 8), password.max.length, password.require.* y password.invalid.admin.passwords de fess_config.properties).
Las claves de attributes son los nombres de atributos de la entidad de usuario (los nombres de elementos derivados del esquema LDAP). Las claves más comunes son:
surname,givenName,displayName,mailtelephoneNumber,mobile,homePhoneemployeeNumber,title,description,homeDirectoryuidNumber,gidNumber
uidNumber y gidNumber deben ser numéricos (su tipo se valida en la actualización). También se pueden especificar muchas otras claves de atributos LDAP.
Nota
En la creación, el ID de usuario (ID de documento) se genera automáticamente como el valor codificado en Base64 URL del nombre de usuario (por ejemplo, el nombre de usuario admin se convierte en YWRtaW4=).
Respuesta
id: El ID de documento del usuario creado.created:truecuando se ha creado.
Actualizar Usuario
Solicitud
Cuerpo de la Solicitud
Descripción de Campos
| Campo | Requerido | Descripción |
|---|---|---|
id | Sí | El ID de documento del usuario a actualizar. |
name | Sí | Nombre de usuario (ID de inicio de sesión) |
version_no | Sí | Número de versión (para bloqueo optimista) |
password | No | Nueva contraseña (se actualiza solo cuando se especifica) |
confirm_password | No | Contraseña de confirmación |
attributes | No | Mapa de atributos (véase «Crear Usuario») |
roles | No | Array de IDs de roles |
groups | No | Array de IDs de grupos |
Nota
En la actualización, id, name y version_no son obligatorios. version_no es el valor devuelto al obtener el usuario objetivo (GET), y corresponde a la versión del documento de OpenSearch. Si no coincide con la versión actual, la solicitud se trata como un conflicto y la actualización es rechazada.
Respuesta
created:falsepara una actualización.
Eliminar Usuario
Solicitud
Especifique el ID de documento del usuario a eliminar en {id}.
Nota
No es posible eliminar el usuario que tiene la sesión actualmente iniciada.
Respuesta
id: El ID de documento del usuario eliminado.
Ejemplos de Uso
Crear Nuevo Usuario
Cambiar Roles de Usuario
Referencia
Visión General de Admin API - Visión general de Admin API
API de Role - API de gestión de roles
API de Group - API de gestión de grupos
Usuario - Guía de gestión de usuarios