Дизайн REST API: Как сейчас принято передавать авторизационный токен?
Заголовок Authorisation является стандартом. В рамках него уже указывается схема аутентификации. Basic — наиболее простая схема, при которой username и password пользователя передаются в заголовке Authorization в незашифрованном виде (base64-encoded). Однако при использовании HTTPS (HTTP over SSL) протокола, является относительно безопасной. Пример HTTP аутентификации с использованием Basic схемы.Digest — challenge-response-схема, при которой сервер посылает уникальное значение nonce, а браузер передает MD5 хэш пароля пользователя, вычисленный с использованием указанного nonce. Более безопасная альтернативв Basic схемы при незащищенных соединениях, но подвержена man-in-the-middle attacks (с заменой схемы на basic). Кроме того, использование этой схемы не позволяет применить современные хэш-функции для хранения паролей пользователей на сервере.NTLM (известная как Windows authentication) — также основана на challenge-response подходе, при котором пароль не передается в чистом виде. Эта схема не является стандартом HTTP, но поддерживается большинством браузеров и веб-серверов. Преимущественно используется для аутентификации пользователей Windows Active Directory в веб-приложениях. Уязвима к pass-the-hash-атакам.Negotiate — еще одна схема из семейства Windows authentication, которая позволяет клиенту выбрать между NTLM и Kerberos аутентификацией. Kerberos — более безопасный протокол, основанный на принципе Single Sign-On. Однако он может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.
https://habrahabr.ru/company/dataart/blog/262817/
Свой заголовок имеет смысл создавать, если ни один из способов не подходит.
Но как правило Basic более чем достаточно. Мы у себя вместо логина передаем ключ авторизации и пустой пароль. Согласен что коряво.
Имхо третий вариант наиболее удобный. Тело запроса содержит только данные, при этом не передается данных в GET-части запроса (как в первом варианте).
+ третий вариант по сравнению с простой авторизацией позволяет накидать в заголовки что угодно (дополнительные параметры - если вдруг понадобится)