Я нашел немало вопросов по этой теме на SO, но не смог найти ответа на этот вопрос:
Следует ли проверять пользователей с их именем пользователя и паролем или с помощью ключа API? И каковы плюсы и минусы каждого метода.
Я спрашиваю об этом, потому что в моем API есть несколько методов, которые я хотел бы заблокировать и убедиться, что у пользователя есть доступ к некоторому документу или действию. Я немного неохотно проверяю, что пользователь отправил HTTP-заголовок AUTH с их именем пользователя и паролем, потому что он чувствует себя незащищенным и немного более хлопот для пользователя. С другой стороны, хотя, если я использую ключ API, какой смысл когда-либо создавать пароль? Поскольку они больше не будут использовать его для доступа к функциям API.
UPDATE
Если другим читателям это интересно, что я в конечном итоге использовал, я решил скопировать, как Amazon делает свою проверку (хорошее объяснение здесь: https://www.ida.liu.se/~TDP024/labs/hmacarticle.pdf)