API de autenticación de usuario

2

Estoy desarrollando una API web para una base de datos de usuarios que se utilizará para verificar que una combinación de nombre de usuario / contraseña determinada sea válida.

Sólo estoy buscando comentarios / críticas sobre el siguiente método que planeo usar:

  • Los registros de clave API se almacenan dentro de la base de datos
  • Cada registro de clave de API consta de una clave de API pública y una clave de API privada
  • Los clientes de API utilizan la clave de API privada para saltear el hashing del nombre de usuario / contraseña dado
  • El nombre de usuario, la contraseña y la clave pública de la API se envían a través de la solicitud HTTP GET a la API para su validación
  • Se devuelve un código de respuesta personalizado según lo que ocurra en el servidor

¿Es esta una forma segura de proceder? Cualquier consejo es muy apreciado.

    
pregunta connorbode 17.04.2013 - 01:59
fuente

1 respuesta

1
  1. Siempre use HTTP POST para enviar datos al servidor. Se debe usar GET para obtener los datos.
  2. Siempre debe usar HTTPS para su servicio web.
  

Los clientes de API utilizan la clave de API privada para saltear el hashing del nombre de usuario / contraseña dados

Si se está refiriendo a la clave privada de su servidor de autenticación, entonces este es un enfoque incorrecto. La clave privada del servidor no debe mantenerse con el cliente. Si está utilizando una conexión segura, entonces no necesita realizar el hashing de contraseñas en el lado del cliente y deje que su servidor maneje la carga.

aquí es una buena referencia para las técnicas de hashing de contraseñas y el uso de la sal .

    
respondido por el Shurmajee 17.04.2013 - 06:24
fuente

Lea otras preguntas en las etiquetas