Attualmente sto sviluppando un'applicazione web che al momento comprende un front-end che visualizza e interagisce con i dati utilizzando un'API REST che abbiamo scritto. L'unica cosa che userà mai l'API è il nostro sito Web di front-end e, a un certo punto, un'app mobile che svilupperemo.Sicurezza per l'API REST "privata"
Ho letto molto su come OAuth sia il meccanismo ideale per proteggere un'API e a questo punto sto iniziando ad avere una buona comprensione di come funziona.
La mia domanda è: poiché non concedo mai l'accesso alla mia API a un client di terze parti, OAuth è davvero necessario? C'è qualche ragione per cui è vantaggioso? Inoltre, poiché il back-end è semplicemente l'API, non esiste un gateway per l'autenticazione da parte di un utente (come se stessimo scrivendo un'app utilizzando l'API di Twitter, quando un utente autentica verrebbe indirizzato alla pagina Twitter per concedere l'accesso quindi reindirizzato al client).
Non sono davvero sicuro su quale direzione andare. Sembra che ci debba essere un approccio a metà strada tra l'autenticazione HTTP e OAuth che sarebbe appropriato per questa situazione, ma non lo capisco.
Qual è il vantaggio dell'utilizzo di OAuth? – brandonvvv
Non è necessario scrivere il codice di autenticazione da soli :) ed è ben testato e affidabile. Con OAuth a 2 gambe è sufficiente condividere una singola chiave privata tra il server e il chiamante API, e gli eventuali ficcanaso non saranno in grado di capire quale sia la chiave (anche se probabilmente vorrai eseguire la connessione su SSL) . – jbowes
OK. Quindi l'idea è di elaborare il login sull'API utilizzando il nome utente e la password e una firma utilizzando la chiave privata, concedere un token e quindi per le chiamate future utilizzare il token e la firma per il resto della sessione? – brandonvvv