Usuarios
Revisar cuentas
Los administradores del sistema abren Administración → Usuarios. La tabla muestra el nombre de usuario, el avatar/nombre para mostrar, la función, el origen local/OIDC y las marcas de tiempo creadas/actualizadas. Filtrar por función, ordenar, cambiar columnas o paginar. El acceso al repositorio para un Visor o Administrador requiere un membresía del repositorio separado; los grupos de proveedores de identidad no crean esas membresías.
Aprovisionamiento y eliminación
En Administración → Usuarios, elija Nuevo usuario en la barra. Indique nombre único, nombres opcionales, contraseña de 12–256 caracteres y confirmación, y rol; el valor inicial es Viewer. También funciona con OIDC activo. Las identidades OIDC se crean mediante su proveedor y nunca se vinculan por coincidencia de nombre local.
La acción de eliminación está disponible para otros usuarios y se ejecuta inmediatamente; revise la cuenta antes de seleccionarla. No puede eliminar su propia cuenta a través de esta API o pantalla. Al eliminar un usuario Repovio se elimina el acceso local; no elimina ninguna cuenta de proveedor en GitHub, GitLab, Forgejo o Gitea. Revise el acceso del usuario afectado antes de eliminarlo.
Fichas de usuario MCP
Abra el cuadro de diálogo token MCP de un usuario para enumerar los metadatos del token o revocar un token con confirmación. Los administradores no pueden recuperar valores de token de texto sin formato ni crear el token de otro usuario a través de este cuadro de diálogo. Los usuarios crean sus propios tokens en Configuración de MCP. Las listas vacías y los errores de carga son distintos; Vuelva a intentarlo después de la recuperación de la API. Nunca copie valores de tokens en informes de soporte o capturas de pantalla.
Aprovisionar un usuario local a través de la API
Utilice un cliente API a través de HTTPS para enviar POST /api/v1/users con autenticación de portador de administrador
y Content-Type: application/json. Proporcione este cuerpo de solicitud, reemplazando los marcadores de posición en las
entradas protegidas del cliente:
{
"username": "new-user",
"password": "REPLACE_WITH_A_PASSWORD_OF_AT_LEAST_12_CHARACTERS",
"role": "VIEWER"
}
Los roles válidos son VIEWER, MANAGER y SYSTEM_ADMIN. Asigne solo el rol requerido y luego otorgue membresías al
repositorio por separado. La respuesta contiene metadatos de usuario seguros, no la contraseña ni su hash. Se debe
corregir un nombre de usuario duplicado o una solicitud no válida antes de volver a intentarlo. No almacene contraseñas
ni tokens de portador en archivos rastreados, historial de shell, capturas de pantalla o informes de problemas.
Crear y restablecer cuentas locales
La acción de fila Restablecer contraseña permite al administrador fijar una nueva sin conocer la anterior. Escriba contraseña y confirmación. Las sesiones JWT anteriores dejan de funcionar; cambiar la propia cierra la sesión. No aparece para cuentas OIDC. Los tokens MCP se conservan.
Grupos de acceso locales
Abra Administración → Grupos de usuarios para crear, renombrar o eliminar grupos y gestionar miembros. Los nombres deben ser únicos y no vacíos. La selección permite buscar y paginar; un usuario puede estar en varios grupos. No hay grupos anidados. Eliminar requiere confirmación y retira miembros y permisos heredados, conservando asignaciones directas.
En Acceso de grupos del repositorio asigne Viewer o Manager y cambie o retire el permiso. Los permisos directos y heredados se combinan; Manager prevalece. La gestión sigue requiriendo rol global Manager; los administradores tienen acceso total. La retirada se aplica en la siguiente solicitud salvo otro permiso vigente. Los grupos admiten cuentas locales y OIDC, sin sincronización de claims OIDC.
POST /api/v1/users { username, password, role, firstName?, lastName? }
PUT /api/v1/users/:id/password { newPassword }
GET /api/v1/user-groups ?page=1&perPage=10
POST /api/v1/user-groups { name }
PUT /api/v1/user-groups/:id { name }
DELETE /api/v1/user-groups/:id
GET /api/v1/user-groups/:id/members ?page=1&perPage=10
PUT /api/v1/user-groups/:id/members/:userId
DELETE /api/v1/user-groups/:id/members/:userId
GET /api/v1/repositories/:id/group-memberships
PUT /api/v1/repositories/:id/group-memberships/:groupId { role }
DELETE /api/v1/repositories/:id/group-memberships/:groupId