Как только вы распространяете ваше приложение, его можно разобрать.Поэтому закрытый ключ, который будет распространяться вместе с вашим приложением, можно извлечь и использовать повторно.
Не существует полностью защищенного способа выполнения того, что вы пытаетесь сделать.Но существуют способы ограничения клиентов, даже если они не являются надежными.
Самым простым (и наименее защищенным) будет ограничение доступа на основе агента пользователя.Но любой клиент может подделать пользовательский агент.
Сертификат / криптографическое решение является более надежным, но, как сказано выше, сертификат может быть извлечен из вашего приложения.тот же контекст, что и у вас.Но OAuth не был разработан для настольных (или мобильных) приложений, а также уязвим для обратного инжиниринга приложения.
Вы можете аутентифицировать пользователя (с помощью пользователя / пароля или другого стандартного метода).В этом случае вы не ограничиваетесь, основываясь на платформе.Затем вы можете закрыть учетную запись пользователей, злоупотребляющих вашим сервисом.Это безопасное решение, но не совсем решение вашей проблемы.