Estoy desarrollando una API que también tendrá un componente de autenticación/autorización.¿Debo devolver un código de respuesta 401 o 405 a un usuario de API REST sin suficiente acceso?
Cualquier persona, independientemente del estado de autenticación, podrá escribir (POST), pero dependiendo de si no está autenticado, autenticado como usuario normal o autenticado como administrador y a qué recurso está intentando acceder, voy a para devolver diferentes respuestas para GET, DELETE y PUT.
Estoy tratando de encontrar el código de respuesta más apropiado para un usuario que no está autenticado y/o autorizado.
Tenga en cuenta http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html:
no autorizada -> 401
Prohibida -> 403
Método no permitido -> 405
Vamos a usar a ejemplos específicos:
- John Doe no está autenticado, en DELETE ¿debería recibir un 401 o un 405?
- Amy está autenticada pero no autorizada, en DELETE ¿debería recibir un 403 o un 405?
(Tenga en cuenta que a pesar de que John y Amy están prohibidas o no autorizadas que no significa que enviaban capaz de acceder al mismo recurso con un verbo HTTP diferente.)
Gracias.
Véase también http://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses – Ryan
Así que John debería obtener un 401, Amy debería obtener un 403. – Ryan
405 Método no permitido parece [totalmente sin relación] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). – Ryan