Una cosa su cui faccio spesso fatica a sviluppare le mie API è l'autenticazione. Non ho avuto grossi problemi con questo quando li stavo creando per un solo sito web ed ero in grado di implementare il seguente flusso:
- Il server crea una sessione su richiesta
- Un campo di input nascosto chiamato 'accessToken' ottiene il valore di questa sessione
- Su una query all'API, invia il campo "accessToken" nascosto
- Se corrispondono, la richiesta viene autenticata
Questo metodo è sembrato piuttosto infallibile poiché con ogni nuova richiesta al sito è stato convalidato un nuovo accessToken.
Ora mi sono spostato su app in via di sviluppo che alimentano la stessa API del mio sito Web e sto avendo più difficoltà a capire l'autenticazione. Ora che ho un'app, non posso semplicemente inviare il valore di una sessione all'app come potrei con il mio sito web basato su PHP. Per ottenere semplici richieste di dati pubblici, l'autenticazione non sarebbe richiesta ma quando creerò un account utente, modificherò l'account degli utenti, ecc ... Vorrei essere sicuro che la richiesta provenga dalla fonte corretta, non da qualcuno che ha semplicemente preso la chiave di autenticazione e sta eseguendo la richiesta in postino o arricciatura.
Qualche idea su come potrei autenticarmi correttamente sarebbe grandiosa, questo è un concetto con cui ho lottato per un po 'e ho bisogno di capire almeno un po'.