Creo client desktop per un e-shop e questo client utilizzerà alcune funzioni utilizzando l'API di e-shop, come:
GetOrders
UpdateOrder
SetOrder
etc...
Sto creando un'autenticazione personalizzata per quel client, ma non lo so è sicuro contro gli attacchi.
Tutte le comunicazioni con client-server avvengono tramite HTTPS.
Funziona così:
-
Alla prima richiesta il cliente deve fornire nome utente e password a server. Quindi il client cancellerà quella password che l'utente immette e poi il client invierà una richiesta al server con nome utente e hash password.
-
Il server confronta la password con hash con la password con hash nel DB per quello nome utente, se è uguale allora il server genera token (come la chiave API) con un tempo di vita limitato e questo token tornerà al client.
-
Il client utilizzerà questo token nelle future richieste.
-
A ogni server di richiesta token riuscito si rinnoverà la durata del token.
Le richieste dovrebbero apparire così:
POST /orders/get HTTP/1.1
Host: example.com
token=123456789&orderid=10
Esistono raccomandazioni di sicurezza se dovessi utilizzare le richieste POST o GET? POST non è più sicuro allora OTTIENE? Ad esempio, POST memorizza i dati nel corpo della richiesta HTTP, ma GET li memorizza nell'URL.