Durante l'autenticazione da un'applicazione browser a un livello API, è possibile verificare l'origine della richiesta per le richieste CORS. Sono consapevole che questo è principalmente per prevenire gli attacchi CSRF. Non impedisce a un utente malintenzionato di accedere all'endpoint stesso, ma impedisce all'hacker di dirottare inconsapevolmente il browser di un utente dal colpire l'endpoint inconsapevolmente con una richiesta AJAX, quando l'utente si trova su un dominio sotto il controllo dell'aggressore.
La mia domanda è: c'è qualche vantaggio nella verifica dell'origine della richiesta quando si implementa una comunicazione API-API? Per esempio, supponiamo che due API siano costruite per eseguire transazioni tra loro, utilizzando un segreto condiviso (per semplicità, una chiave API), ma, a seconda delle esigenze di accesso, potrebbe essere applicabile un approccio più avanzato come OAuth). Oltre a verificare la chiave API, il server dovrebbe anche controllare l'host della richiesta per confermare che proviene da un server API affidabile? Oppure l'host di una richiesta è facilmente falsificabile (poiché la richiesta verrebbe da un altro server con il controllo completo delle intestazioni inviate nella richiesta HTTP) e quindi un tale controllo sarebbe inutile?