Quando un'API richiede che un client effettui l'autenticazione, ho visto due diversi scenari utilizzati e mi chiedo quale caso dovrei usare per la mia situazione.
Esempio 1. Un'azienda offre un'API per consentire a terzi di autenticarsi con un token e un segreto utilizzando HTTP Basic.
Esempio 2. Un'API accetta un nome utente e una password tramite HTTP Basic per autenticare un utente finale. Generalmente ottengono un token per le richieste future.
My Setup: avrò un'API JSON che uso come back-end 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 propri dati, ecc. Quindi vorrei che si collegassero anche tramite HTTP Basic a ogni richiesta.
In qualche modo utilizzo una combinazione di entrambi questi metodi o inviamo solo le credenziali dell'utente finale (nome utente e token) ad ogni richiesta? Se invio solo le credenziali dell'utente finale, le memorizzo in un cookie sul client?