Здесь много деталей, но:
http basic: отправить имя пользователя и пароль в открытом виде в заголовке Authorize
http digest: отправьте имя пользователя и пароль, где пароль был хеширован сервером, предоставленным nonce
Обе версии oauth изначально предназначены для предоставления третьим сторонам доступа к ресурсам, которые ему не принадлежат (например, я разрешаю мобильному приложению для фотографий публиковать в Facebook от моего имени) без необходимости передавать третьим лицам свои учетные данные. Оба эти протокола работают в основном следующим образом:
- Из мобильного фото-приложения пользователь перенаправляется на страницу входа в Facebook
- После входа в систему они перенаправляются обратно в мобильное приложение для фотографий с кодом.
- Приложение для мобильных фотографий выкупает этот код для токена доступа
- Мобильное приложение для обработки фотографий может затем отправлять запросы в Facebook для публикации моих фотографий на моей стене.
oauth1.0a: более безопасный, чем oath2, но более сложный для реализации, также требует подписи всех запросов.
oauth2: для безопасности использует ssl и не требует подписания запроса. Хотя его ведущий автор отказался от проекта, потому что считает, что он не соответствует ни одной из первоначальных целей разработки (безопасность, совместимость), он широко используется в Facebook и Google.
Вот несколько статей, которые я нашел здесь полезными:
Недостаточно mojo, чтобы связать его с rfcs, но они являются окончательными источниками, хотя и слегка неусваиваемыми.