Я пытаюсь придумать, как проверить, что веб-сервис доступен только авторизованному клиентскому программному обеспечению.
Теперь я не имею в виду, что я хочу, чтобы веб-сервис был открыт только для авторизованных пользователей, я хочу, чтобы мои веб-сервисы были открыты только для клиентов, которых я считаю приемлемыми.
Давайте рассмотрим вариант использования. У меня есть веб-сервис, который я предоставляю, и программное обеспечение, которое подключается к этому веб-сервису. В этом случае сервис основан на REST. Я не хочу, чтобы другие люди создавали клиентов и получали доступ к моему веб-сервису и получали прибыль от моего сервиса, потому что этот сервис представляет собой особый набор данных, который мне нужно хранить только для утвержденных клиентов.
Некоторые неправильные предложения из других источников были направлены на то, чтобы обеспечить учетную запись пользователей. Однако это останавливает только неавторизованных пользователей, не мешает кому-то создавать клиента и позволять тем подлинным пользователям получать доступ к моим веб-службам с помощью чужого программного обеспечения.
Другое предложение заключалось в том, чтобы включить в программное обеспечение определенные идентификационные данные или сертификат клиента, но кому-то слишком легко перепроектировать и получить эти данные, а затем дублировать запросы.
Я не уверен, что то, что я хочу сделать, даже возможно, но я надеюсь, что кто-то может доказать, что я неправ.