Quando un'API richiede che un client esegua l'autenticazione, ho visto due diversi scenari utilizzati e mi chiedo quale caso dovrei usare per la mia situazione.
Esempio 1. Un'API viene offerta da una società per consentire a terzi di autenticarsi con un token e un segreto usando HTTP Basic.
Esempio 2. Un'API accetta un nome utente e una password tramite HTTP Basic per autenticare un utente finale. Generalmente ricevono un token per richieste future.
La mia configurazione: avrò un'API JSON che utilizzo come backend per un'app mobile e web. Sembra una buona pratica sia per l'app mobile che per quella Web inviare un token e un segreto in modo che solo queste due app possano accedere all'API bloccando qualsiasi altra terza parte.
Ma l'app mobile e web consente agli utenti di accedere e inviare post, visualizzare i loro dati, ecc. Quindi vorrei che accedessero anche tramite HTTP Basic su ogni richiesta.
Posso in qualche modo utilizzare una combinazione di entrambi questi metodi o inviare solo le credenziali dell'utente finale (nome utente e token) su ogni richiesta? Se invio solo le credenziali dell'utente finale, le memorizzo in un cookie sul client?