создаю небольшое api
Защита реализуется с помощью ключей public_key и private_key
1) Может ли в качестве public_key использоваться user_id или лучше также использовать случайный набор?
2) Как обрабатывать дубли запросов: например запрос к api на заказ содержал:
?uid=1234&city=Москва&key=5e9a9766dd2c4bbf326064fcf45391c4
uid - это user id
key - получаем конкатенацией private_key&city
При получении повторно такого же запроса через 2 секунды, необходимо различать, или клиент делает еще один заказ по Москве или он случайно отправил еще раз этот же заказ. Как различать?
andre7777, хранить ID каждого заказа, навеврняка в магазине вы видели что-то типа Заказ #123123, человек передает на сервер только ID заказа, из БД вы можете все вытащить для этого заказа, там же и проверять ваше условие (куплен или отправлен повторно).