¿Es necesario esto en una API?

  • 1 Respuestas
  • 194 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rex

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

¿Es necesario esto en una API?

  • en: Marzo 06, 2020, 12:50:40 am
Hola!, buenas... lo que sucede es que estoy trabajando en una aplicación web. La misma está en react (front-end) y expressjs (backend para el API).

Ahora, lo que sucede es que tengo una gran duda... sobre saber si hacer esto es realidad necesario o no.

Mi Aplicación consulta información de una API. Entonces, como cada usuario tiene sus permisos y restricciones, estaba pensando que para tener una mejor seguridad... debería enviar el ID del usuario logeado para chequear sus permisos antes de realizar cualquier tipo de acción que sólo esté disponible para ciertos usuarios.

Osea, sí configure el CORS en el API para que solo pueda realizar consultas el host del front-end... pero me entra la duda de qué alguien pueda violentar esa "seguridad" y hacer cualquier tipo de cosa sin que se le restrinja algo en la aplicación. Es por ello que estaba pensando en incluir el ID del usuario en toda petición que haga el servidor (Aunque parece algo no recomendable)... Pero quisiera que alguien aquí me ayude u oriente sobre qué debo hacer.

Lo que requiero es que mi aplicación sea segura... y trato de que así lo sea por todas las partes.

En pocas palabras, al tratar de modificar un documento.. se enviará al API el documento modificado y el ID del usuario que realizó la modificación.. para checar si este usuario tiene o no permisos para hacerlo. ¿Es necesario o solo basta con configurar el CORS?
« Última modificación: Marzo 06, 2020, 12:52:17 am por Rex »

Conectado tr0n

  • *
  • Underc0der
  • Mensajes: 66
  • Actividad:
    50%
  • Reputación 3
    • Ver Perfil
    • Chat Latino

Re:¿Es necesario esto en una API?

  • en: Marzo 10, 2020, 05:46:06 pm
Hola Rex,

El CORS no te bastara para tener una buena seguridad en este caso, este valida que la petición se realiza desde un dominio confiable en el navegador.
El servidor debería conocer los permisos de cada usuario y saber que petición corresponde a cada uno. Esto se logra con cookies ó autenticaciones tipo Basic y JWT.

En plataformas de front end tipo React, Angular generalmente se usa mas JWT, aunque puedes empezar a probar con autenticación Basica para tener una idea, que es simplemente enviar el usuario y contraseña cada vez que se envía una petición. Recuerda que tu sitio debe contar con SSL para prevenir ataques MITM.

Por último, si ya tienes algún tipo de autenticacion de ingreso, también se necesita verificar los permisos de cada usuario al realizar cualquier acción con el servidor. Como lo describes en tu pregunta, cualquier usuario raso puede tener acceso a los permisos de administrador simplemente realizando una petición API a estos endpoints.

Saludos...

 

[Ayuda] Quien me dice como puedo hacer, algo parecido a esto? Que Recomiendan!

Iniciado por darkangel03

Respuestas: 1
Vistas: 886
Último mensaje Julio 04, 2019, 09:35:45 pm
por hielasangre
Necesito una pequeña ayuda de los que de verdad saben sobre esto

Iniciado por AndryJGM

Respuestas: 8
Vistas: 1419
Último mensaje Enero 03, 2019, 01:47:18 pm
por Mortal_Poison
[SOLUCIONADO] Cómo puedo hacer esto con python?

Iniciado por deletethisaccount

Respuestas: 1
Vistas: 1033
Último mensaje Abril 01, 2017, 07:21:06 pm
por deletethisaccount
Necesito ayuda en esto: leer reportes MARA_FRAMEWORK

Iniciado por K.I.R.I.T.O

Respuestas: 0
Vistas: 131
Último mensaje Marzo 24, 2020, 10:24:15 am
por K.I.R.I.T.O
[SOLUCIONADO] Expresiones Regulares - Como hacer esto?

Iniciado por SinnicK

Respuestas: 3
Vistas: 1973
Último mensaje Julio 29, 2014, 01:51:36 am
por SinnicK