Los métodos HTTP tienen poco que ver con la seguridad en sí mismos. Un método como DELETE /users/1
también podría implementarse fácilmente como POST /users/1/delete
o incluso GET /users/1/delete
(los GET nunca deberían tener efectos secundarios, pero eso no impide que algunos desarrolladores lo hagan).
Por lo tanto, debe tratarlos de manera similar a cualquier otro método HTTP. Los GET no deberían cambiar el estado del servidor, por lo que normalmente solo necesitaría verificar que el cliente tenga acceso de lectura al recurso solicitado. Los PUT se deben usar para actualizar un recurso totalmente en el lugar (aunque a menudo también se usan de manera similar al verbo PATCH), por lo que debe asegurarse de que el cliente tenga los privilegios para hacerlo. Del mismo modo, DELETE debe enviarse para solicitar que se elimine un recurso. Por lo tanto, querrá asegurarse de que un usuario tenga permiso para hacerlo.
En resumen: trate los verbos como descriptores del tipo de acción que el usuario desea realizar. Autentíquelos y autorícelos a realizar estas acciones según lo requieran los parámetros de seguridad de su aplicación en particular.