Мы создаем набор внешних веб-сервисов, которые будут использоваться клиентом (используя jquery / AJAX) посетителями нашего сайта. Веб-сервисы должны быть общедоступными, но мы хотели бы ограничить доступ посетителей сайта.
Важно отметить, что рассматриваемый сайт находится за CDN, и мы кэшируем содержимое страницы в течение 24 часов; AJAX-запросы желательно также кэшировать, но я думаю, что это ограничит наши возможности аутентификации. Наши посетители получают доступ к сайту и услугам анонимно.
Каковы некоторые стандартные «шаблоны» для аутентификации клиентских запросов? Я не имею дело с конфиденциальными данными как таковыми, но хочу удержать других пользователей / сайты от угона этих сервисов по соображениям ответственности (рассмотрим распределение данных) и по причинам производительности.
Я думаю об общем секрете, который ежедневно обновляется и используется всеми клиентами на всем сайте; любой запрос веб-службы будет включать в себя секрет. Довольно простой, но есть ли другие, более эффективные способы для службы определять происхождение вызывающего абонента способом, который не может быть подделан?