Давайте представим, что я создаю веб-сервис и клиентское приложение, которое вызывает этот веб-сервис.
Есть ли способ запретить другим программам, кроме моего, совершать звонки в веб-службу?
Например, представьте себе игру, в которой игрок может заработать немного денег, нажав на значок, доступный только один раз в час. Если пользователь подключен, хорошо. Если пользователь не подключен, он «теряет» временное окно, чтобы получить деньги.
В стандартном веб-сервисе + клиенте любому подростку было бы очень легко создать приложение-скрипт / фальшивое приложение для запуска веб-сервиса.
Как мне этого избежать?
Я знаю, что волшебного решения не существует, но, по крайней мере, как я могу создать трудности при написании таких инструментов?
PS: я работаю с платформой Microsoft .Net + SilverLigth, но я чувствую, что этот вопрос шире, чем у техников MS.
[РЕДАКТИРОВАТЬ], чтобы уточнить, я не спрашиваю, как добавить аутентификацию, но как избежать, чтобы пользователь автоматизировал вызов веб-служб. Ничто не мешает пользователю с учетной записью использовать свою учетную запись для автоматизации звонков; Чего я хочу избежать, например, иметь поддельное приложение с реальной аутентификацией, чтобы делать что-то каждые 5 секунд вместо ввода данных пользователем. В игре этого может избежать робот-фермер