arnaugarcia / sallefy

Sallefy - A music platform
https://www.jhipster.tech/development/
GNU General Public License v3.0
11 stars 8 forks source link

Error 400 al intentar modificar el usuario propietario en la API user-resource/updateUser #177

Open aitor95 opened 4 years ago

arnaugarcia commented 4 years ago

Hola, puedes poner un ejemplo de la llamada y el contenido que envías? La llamada no es correcta ya que ese endpoint es para el panel de administración. Para editar un usuario se tiene que hacer desde este endpoint "http://sallefy.eu-west-3.elasticbeanstalk.com/api/account" haciendo un POST con un usuario en el body.

arnaugarcia commented 4 years ago

Mirándolo bien es cierto que queda un poco raro hacer un POST en el account cuando en toda la API se hacen PUTs. Realmente a nivel de REST esta correcta la semántica, pero dado que sois muchos con el mismo problema. Eliminaré la restricción del PUT en "http://sallefy.eu-west-3.elasticbeanstalk.com/api/users/{login}" para que lo puedan utilizar usuarios que no sean administradores. Cómo lo ves @alfredorueda ?

alfredorueda commented 4 years ago

Please, me han insistido con esta issue y creo que la podemos hacer rápido. @arnaugarcia ya me encargo.

arnaugarcia commented 4 years ago

Hola, he estado trabajando en ella hoy pero con las entregas de las demás asignaturas me es imposible dedicarle un poco al proyecto :( .

Sobre la solución al problema no es tan rápida como parece ya que ese "endpoint" está pensado para administradores solamente. Para hacer una implementación correcta se tendría que tener en cuenta lo siguiente (por ahora):

Si quieres el Miércoles lo intentamos implementar :D

alfredorueda commented 4 years ago

Okay Arnau,

Me parece genial todos los puntos que comentas. Estoy de acuerdo! :)

A tope, el miércoles lo implementamos ;-)

Gracias! --

Alfredo Rueda Unsain

linkedin.com/in/alfredorueda

El lun., 27 abr. 2020 a las 20:40, Arnau Garcia (notifications@github.com) escribió:

Hola, he estado trabajando en ella hoy pero con las entregas de las demás asignaturas me es imposible dedicarle un poco al proyecto :( .

Sobre la solución al problema no es tan rápida como parece ya que ese "endpoint" está pensado para administradores solamente. Para hacer una implementación correcta se tendría que tener en cuenta lo siguiente (por ahora):

  • Se tendría que controlar que no se modificaran las authorities del usuario que viene del controlador (los usuarios se podrían añadir la authority admin)
  • que el usuario loggeado se esté actualizando a si mi mismo y no a otro usuario
  • si se tiene una "authoritiy" cómo admin de tendría que permitir realizar todas las anteriores ya que tenemos que permitir que los administradores pudieran modificar un usuario o incluso desactivarlo.
  • se tiene que tener en cuenta que tanto el login como el email tienen que ser únicos en la aplicación. (si eso no se controla puede ser un error terrible)
  • se tendrán que modificar los test del servicio de usuarios añadiendo la nueva lógica.

Si quieres el Miércoles lo intentamos implementar :D

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/arnaugarcia/sallefy/issues/177#issuecomment-620161593, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDGMYV4BQ2ZBXVI3KPBRXLROXGRZANCNFSM4MMIBMDQ .