На SO есть много отличных вопросов (и ответов) по теме REST. и безопасность.Многие говорят "пуристам это не понравится, но бла-бла"... а потом другие говорят "никогда не делайте этого, потому что бла-бла".
Но я не видел решения, что «пуристы» предлагают для следующего сценария. Итак, мой вопрос: каковы «чистые решения RESTful» для следующего сценария?
Простой сценарий...
Представьте себе создание базы данных/веб-сайта. который позволяет пользователю управлять своими любимыми рецептами.Веб-сайт предоставляет RESTful API, чтобы пользователи могли запрашивать и управлять своим списком из пользовательской программы, которую они хотят написать (которая использует этот API).
Итак, у пользователя «А» есть 3 любимых рецепта с идентификаторами «1», «2» и «3».
У пользователя «Б» есть 2 любимых рецепта с идентификаторами «4» и «5».
Нам нужно убедиться, что если пользователь A отправит команду DELETE
на /Recipes/4
, он получит ответ Forbidden (403)
.
Что я обычно делаю...
Что я обычно делаю, так это заставляю их сначала вызвать метод аутентификации и отправить им какой-то токен аутентификации, который действителен в течение 30 минут или около того. Обычно этот токен передается через файл cookie.
Что такое чистый раствор?
Является ли чистое решение REST, чтобы они передавали его как переменную в строке запроса? Являются ли файлы cookie дьяволом?Следует ли использовать токен в качестве сегмента URL-адреса (в отличие от параметра строки запроса)? Есть ли что-то еще, что ясно отвечает на этот вопрос?