Glossing многих деталей, но:
HTTP Basic: отправить имя пользователя & пароль в незашифрованном в заголовке Authorize
HTTP Digest: отправить имя пользователя & пароль, где пароль хешированы сервером при условии nonce
Обе версии oauth изначально предназначены для предоставления третьим сторонам доступа к ресурсам, которые не принадлежат ему (например, я разрешаю мобильное приложение для фотографий отправлять в facebook от моего имени), не предоставляя третьему лицу мои учетные данные. Оба эти протоколы работают в основном следующим образом:
- Из мобильного приложения фото, пользователь перенаправляется на страницу входа в Facebook
- После того, как они вошли в систему, они будут перенаправлены обратно в мобильное приложение фото с кодом.
- Мобильное приложение для фотографий затем выдает этот код для токена доступа
- Приложение для мобильной фотографии может затем делать запросы в facebook для размещения моих фотографий на моей стене.
oauth1.0a: более безопасный, чем oath2, но сложнее реализовать, также требует, чтобы все запросы подписывались.
oauth2: полагается на ssl для обеспечения безопасности и не требует подписи запроса. Хотя ведущий автор отказался от проекта, потому что он чувствует, что он не соответствует ни одному из его оригинальных целей дизайна (безопасность, интероперабельность), он широко используется Facebook и Google.
Вот некоторые статьи, которые я нашел полезным здесь:
Не хватает харизмы еще ссылка на РЛК, но те, являются окончательными источниками, если он немного неудобоваримый.
Прохладный сайт, пытающийся пролить свет: http://oauthbible.com/ – SudoPlz