Molte API protette con le chiavi API usano solo la chiave segreta (cioè una password) senza qualcosa come un ID account o un nome utente.
Ad esempio, l'API Stripe utilizza la chiave segreta come nome utente in Autenticazione di base, lasciando la password vuota:
curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HOWgH4olfQ2:
Come funziona questo lato server? Cerca il segreto in un tavolo con i segreti come chiavi primarie, in testo normale? Cosa succede se questa tabella è trapelata?
Perché è meglio usare una combinazione account_id:secret_key
nell'autenticazione? Puoi quindi memorizzare bcrypt(secret_key)
anziché secret_key
in testo normale, utilizzando account_id
come chiave primaria.
correlati , ma non il stessa