REST API GET с конфиденциальными данными

Я разрабатываю API с методом, который должен быть идемпотентом, и не должен изменять какие-либо данные на сервере. Это должен быть метод, который обрабатывает запрос и возвращает ответ для заданных параметров.

Одним из параметров являются конфиденциальные данные. Это не вариант использования дополнительного шифрования. Данные уже зашифрованы, но требования безопасности очень требовательны, и даже зашифрованные данные должны обрабатываться очень осторожно.

Согласно спецификации REST, идемпотентный метод запроса должен быть реализован как метод GET HTTP. Проблема в этом случае - конфиденциальные данные, которые не должны передаваться в качестве параметра GET в URL. Единственным вариантом в стандарте HTTP является передача конфиденциальных данных в части тела HTTP-запроса.

Мой вопрос: что лучше? Сломал остальное api design, и отправил запрос в виде POST или передал зашифрованные данные в URL? Может быть, есть лучшее решение, которого я не вижу?

1 ответ

Решение

Согласно спецификации REST, идемпотентный метод запроса должен быть реализован как метод GET HTTP.

Насколько я могу сказать, мой ограниченный английский ДОЛЖЕН!= ДОЛЖЕН. В этом случае вы не нарушите дизайн REST API, отправив POST. Вы можете отправить ваши конфиденциальные данные в заголовке HTTP, если это возможно. И оф. Вы должны использовать HTTPS, если хотите отправить конфиденциальные данные в любое место.

Другие вопросы по тегам