Creo un cliente de escritorio para una tienda electrónica y este cliente utilizará algunas funciones utilizando la API de la tienda electrónica, como:
GetOrders
UpdateOrder
SetOrder
etc...
Estoy creando una autenticación personalizada para ese cliente, pero no sé si es seguro contra ataques.
Todas las comunicaciones con cliente-servidor se realizan a través de HTTPS.
Funciona así:
-
En la primera solicitud, el cliente debe proporcionar un nombre de usuario y contraseña para servidor. Así que el cliente tendrá esa contraseña lo que el usuario ingresa y luego cliente enviará solicitud al servidor con nombre de usuario y hash contraseña.
-
El servidor compara la contraseña con hash con la contraseña con hash en DB para eso nombre de usuario, si es igual, entonces el servidor genera el token (como la clave api) con tiempo de vida limitado y este token se enviará al cliente.
-
El cliente usará este token en futuras solicitudes.
-
Cada vez que el servidor de solicitud de token se renueve, la vida útil del token se renueva.
Las solicitudes deben tener este aspecto:
POST /orders/get HTTP/1.1
Host: example.com
token=123456789&orderid=10
¿Hay alguna recomendación de seguridad si debo usar solicitudes POST o GET? ¿No es POST más seguro que GET? Por ejemplo, POST almacena los datos en el cuerpo de la solicitud HTTP, pero GET los almacena en la URL.