Когда API требует, чтобы клиент проходил аутентификацию, я видел два разных сценария, и мне интересно, какой случай я должен использовать в своей ситуации.
Пример 1. Компания предлагает API, чтобы позволить третьим лицам проходить аутентификацию с помощью токена и секрета с использованием HTTP Basic.
Пример 2. API принимает имя пользователя и пароль через HTTP Basic для аутентификации конечного пользователя. Обычно они получают токен для будущих запросов.
Моя настройка: у меня будет JSON API, который я использую в качестве бэкенда для мобильного и веб-приложения. Как для мобильных, так и для веб-приложений представляется хорошей практикой отправлять токены и секретные данные, поэтому только эти два приложения могут получить доступ к API, блокирующему любое другое третье лицо.
Но мобильное и веб-приложение позволяют пользователям входить в систему и отправлять сообщения, просматривать свои данные и т. Д. Поэтому я бы хотел, чтобы они также входили через HTTP Basic при каждом запросе.
Использую ли я как-то комбинацию обоих этих методов или отправляю только учетные данные конечного пользователя (имя пользователя и токен) для каждого запроса? Если я отправляю только учетные данные конечного пользователя, могу ли я сохранить их в файле cookie на клиенте?