Почему API (такие как Facebook, last.fm и т. Д.) Генерируют сеансовые ключи для зарегистрированных пользователей? - PullRequest
1 голос
/ 07 мая 2010

Я создаю RESTful API для приложения, над которым я работаю, и клиентские кодеры должны иметь возможность передавать данные в API от имени пользователя. Все популярные API, которые я использовал, требуют, чтобы я отправил сгенерированный токен сеанса (созданный при входе пользователя в систему) для пользователя с просьбой опубликовать информацию от имени пользователя.

Мой вопрос из любопытства заключается в том, почему эти API требуют сеансовый ключ, а не просто позволяют мне снова отправлять имя пользователя и пароль при каждом запросе?

Спасибо.

1 Ответ

2 голосов
/ 07 мая 2010

Основной причиной, без сомнения, является проблема безопасности при передаче конфиденциальных данных назад и вперед. Передача сеансового ключа означает, что, если он скомпрометирован, он имеет ограниченный срок службы для использования злоумышленником. Кроме того, если злоумышленник скомпрометировал ключ сеанса, он не сможет использовать эту информацию для запуска атаки на другие веб-сайты, с которыми пользователь может иметь учетные записи (и, вероятно, будет использовать тот же пароль).

Другая причина использования ключа сеанса заключается в том, что если пользователь изменяет свой пароль, когда вы заняты использованием API, вы не будете внезапно заблокированы.

...