-
Notifications
You must be signed in to change notification settings - Fork 0
4. Usuarios
Simple data store maneja la entidad usuario (appUser), para realizar la función de autenticación y autorización. Esta entidad representa a cualquier sistema (persona física o máquina) que requiera hacer uso de la API.
La información que incluye un usuario viene definida por el siguiente JSON:
{
`"login": "cadena identificador del usuario. No puede ser vacía ni nula",`
`"password":"contraseña del usuario. No puede ser nula ni vacía",`
`"Role": "Role del usuario: USER, DATA_MANAGER o STORE_ADMIN",`
`"GrantedResources": [{
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "READ"
}, {
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "WRITE"
}]
}
La información del usuario es almacenada en la base de datos, y será accesible a través de la API de Usuarios.
Existen 3 roles:
- USER: Usuarios con permiso para consultar la información almacenada
- DATA_MANAGER: Usuarios con permiso para consultar, añadir y modificar información
- STORE_ADMIN: Usuarios con permiso para consultar, añadir y modificar información y usuarios.
Se puede acceder a la documentación completa en la url http://localhost:8080/swagger-ui.html del propio despliegue.
Para poder acceder a los recursos ofrecidos para usuario se debe estar autenticado con el ROL necesario. A continuación se detalla la API disponible para Usuarios.
Obtiene, de manera paginada, todos los usuarios existentes en el sistema.
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN o DATA_MANAGER | 200 Página | page, size, sort spring page and sorting |
Ejemplo de respuesta:
{
"content": [{
"login": "sUSER",
"password": "",
"role": "USER",
"grantedResources": [{
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "READ"
}, {
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "WRITE"
}]
}, {
"login": "sAdmin",
"password": "",
"role": "STORE_ADMIN",
"grantedResources": []
}],
"last": true,
"totalPages": 1,
"totalElements": 2,
"sort": null,
"first": true,
"numberOfElements": 2,
"size": 20,
"number": 0
}
Obtiene la información del usuario indicando por id
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN o DATA_MANAGER | 200 (usuario) | id: login de usuario |
Ejemplo de respuesta:
{
"login": "sUSER",
"password": "",
"role": "USER",
"grantedResources": [{
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "READ"
}, {
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "WRITE"
}]
}
Crea un nuevo usuario, indicado en el body.
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN | 201 (Usuario) | no |
Ejemplo de body:
{
"login": "nuevo-usuario",
"password": "contraseña",
"role": "USER",
"grantedResources": []
}
Ejemplo de respuesta:
{
"login": "sUSER",
"password": "",
"role": "USER",
"grantedResources": [{
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "READ"
}, {
"resourdeId": "5a3d21f499b0c80ebc14db10",
"accessGrantedType": "WRITE"
}]
}
Elimina un usuario.
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN | 204 | id: login del usuario |
Otorga permiso de acceso a un recurso para el usuario indicado
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN | 202 (Usuario) | id: login del usuario |
Ejemplo de body:
{
"accessGrantedType": "READ",
"resourdeId": "id-recurso"
}
Ejemplo de respuesta:
{
"login": "sUSER",
"password": "",
"role": "USER",
"grantedResources": [{
"resourdeId": "id-recurso",
"accessGrantedType": "READ"
}]
}
Elimina los permisos de acceso al recurso para el usuario indicado.
Cabeceras | Autorización | Respuesta | Parámetos |
---|---|---|---|
Content-Type: application/json Authorization: Bearer token | STORE_ADMIN | 202 (Usuario) | id: login del usuario |
resourceId: id del recurso |
Ejemplo de respuesta:
{
"login": "sUSER",
"password": "",
"role": "USER",
"grantedResources": []
}
simple data store powered by @i62lotor Blog: rltsistemas