При разработке API для нашего веб-приложения мы будем использовать их поддомен как "имя пользователя" и генерировать ключ API/общий секрет. Во-первых, можно ли использовать субдомен в качестве имени пользователя? Я не вижу преимущества генерации другого ключа.
Различные API-интерфейсы, похоже, выполняют одну из двух задач:
- Использовать базовую проверку подлинности HTTP с помощью SSL
В каждом запросе имя пользователя устанавливается в поддомен и пароль к ключу API. Поскольку мы используем SSL, это должно быть безопасно от подмены.
Известные API: Google Checkout, Freshbooks, GitHub, Zendesk
- Создать подпись запроса с разделяемым секретом
Обычно достигается путем упорядочения пар ключ/значение и использования HMAC-SHA1 с общим секретом для генерации подписи. Затем подпись отправляется с запросом и проверяется на другом конце.
Известные API: Google Checkout, Amazon AWS
PS: это не ошибка, Google Checkout поддерживает оба
Изменить: Просто прочитайте, что OAuth 2 отбрасывает подписи в пользу отправки имени пользователя/пароля через SSL.
Любые мнения от кого-либо о том, что выбрать: SSL против Подписи?