Hai un sacco di opzioni e dovresti scegliere il migliore in base alle tue esigenze. I sistemi di autenticazione destinati ai sistemi automatici hanno requisiti di usabilità diversi rispetto agli utenti.
Ad esempio, gli utenti generalmente non vogliono presentare la propria password ad ogni richiesta o gestire password lunghe e complicate. Il codice che chiama la tua API non ha quei problemi.
Internamente dovresti probabilmente memorizzare token o password API allo stesso modo in cui fai le password degli utenti: salali con un valore casuale lungo e inseriscili con un algoritmo ragionevole.
Hai anche la possibilità di utilizzare certificati client considerati affidabili dalla tua app. Più complicato da configurare ma non è necessario passare il materiale delle credenziali sensibili tra i sistemi.
Ancora una volta, tutte queste opzioni dovrebbero essere esaminate in base ai requisiti di sicurezza del sistema. Se stai proteggendo i codici di lancio di una banca o di un missile, vorrai avere standard più elevati rispetto all'API per un sito web casuale.