Я работаю над созданием RESTful API для одного из приложений, которые я поддерживаю. В настоящее время мы планируем создавать в нем различные вещи, которые требуют более контролируемого доступа и безопасности. Изучая способы обеспечения API, я нашел несколько разных мнений о том, какую форму использовать. Я видел, как некоторые ресурсы говорят, что HTTP-Auth - это путь, в то время как другие предпочитают ключи API, и даже другие (включая вопросы, которые я нашел здесь на SO) клянутся OAuth.
Тогда, конечно, те, которые предпочитают, скажем, ключи API, говорят, что OAuth предназначен для приложений, получающих доступ от имени пользователя (как я понимаю, например, для входа на сайт, не принадлежащий Facebook, используя ваш Facebook), а не для пользователя, напрямую обращающегося к ресурсам на сайте, на котором они специально подписались (например, официальный клиент Twitter, обращающийся к серверам Twitter). Однако рекомендации для OAuth, по-видимому, даже для самых основных потребностей в проверке подлинности.
Итак, мой вопрос заключается в том, что - если все это сделать через HTTPS, каковы некоторые из практических различий между этими тремя? Когда следует относиться к другим?