Я просматривал различные API, и, поскольку Twitter, кажется, является общим предметом обсуждения, я буду использовать его в качестве примера.
Многие API-интерфейсы реализуют oAuth, который отлично подходит для того, чтобы служба могла аутентифицировать и авторизовать приложение, подключенное к нему, однако, как я вижу, приложение не может проверить, действительно ли Twitter Твиттер (а не человек в средней атаке)? Я ожидаю увидеть какую-то подпись (с использованием общего / открытого ключа) тела ответа, которую я могу использовать для проверки того, что твиттер подписал его.
Это просто потому, что в настоящее время нет никакого смысла в человеке в средней атаке с твиттерами Твиттера, поскольку в настоящее время самое худшее, что может случиться (и почему кто-то захочет дать мне недействительные твиты)
С этой точки зрения, если бы вы подписали ответ, какой метод вы бы использовали? В настоящее время я рассматриваю подпись HMAC-SHA1 тела ответа, используя общий ключ.