¿Cuáles son las características de una operación de restablecimiento de contraseña?
- Cambia algo
- Hay un valor en el que está configurado.
- Solo algunas personas pueden hacerlo (el usuario, un administrador o cualquiera de ellos, tal vez con diferentes reglas sobre cómo hacerlo).
El punto 1 aquí significa que no puede usar GET, debe PUBLICAR algo que representa la operación de cambio de contraseña en un URI que representa un recurso que maneja los cambios de contraseña, o PONER algo que representa la nueva contraseña en un URI que representa la contraseña o que representa algo (p. Ej. usuario) de los cuales esa contraseña es una característica.
En general, PUBLICAREMOS, sobre todo porque puede ser incómodo PONER algo que no podemos OBTENER más tarde y, por supuesto, no podemos OBTENER la contraseña.
El punto 2, por lo tanto, serán datos que representan la nueva contraseña, en lo que se PUBLICA.
El punto 3 significa que necesitaremos autorizar la solicitud, lo que significa que si el usuario es el usuario actual, necesitaremos que nos demuestren la contraseña actual (aunque no necesariamente recibamos la contraseña actual, por ejemplo, si se trata de un desafío basado en hash) se usó para probar su conocimiento sin enviarlo).
Por lo tanto, el URI debe ser algo como <http://example.net/changeCurrentUserPassword>
o <http://example.net/users/joe/changePassword>
.
Podríamos decidir que queremos recibir la contraseña actual en los datos POST, así como en el mecanismo de autorización general que se utiliza.