So che entrambi impediscono l'utilizzo delle API RESTful. L'API firmata Hmac è comunemente usata rispetto all'altra. Ma penso che l'utilizzo della coppia di utenti / pass per l'autorizzazione sia più sicuro, ecco il motivo:
-
Per firmare un'API utilizzando hmac è necessario un segreto condiviso tra client e server. Quindi il server DEVE memorizzare il segreto in un formato leggibile dal computer (reversibile). Se il server viene danneggiato (non si tratta di un piccolo evento di probabilità), tutti gli utenti sono in pericolo.
-
Durante l'utilizzo di user / pass per autorizzare il client, il server può salvare la password del client con hash (con sale) nel database. Quindi è inutile dopo il furto. Inoltre, usando tls / ssl per proteggere la password durante il trasferimento, non c'è attacco MITM.
Quindi la verità è che la maggior parte delle aziende usa hmac signed api. Qualcuno potrebbe dirmi cosa ho perso?