Как мне убедиться, что мой REST API отвечает только на запросы, сгенерированные доверенными клиентами, в моем случае мои собственные мобильные приложения? Я хочу предотвратить нежелательные запросы, поступающие из других источников. Я не хочу, чтобы пользователи вводили серийный ключ или что-то еще, это должно происходить негласно, после установки и без какого-либо вмешательства пользователя.
Насколько я знаю, HTTPS предназначен только для проверки сервера, с которым вы общаетесь, и того, о ком он говорит. Я, конечно, собираюсь использовать HTTPS для шифрования данных.
Есть ли способ сделать это?
Обновление: пользователь может выполнять действия только для чтения, которые не требуют входа пользователя в систему, но они также могут выполнять действия записи, которые требуют входа пользователя в систему (аутентификация по токену доступа). В обоих случаях я хочу, чтобы API отвечал на запросы, поступающие только от надежных мобильных приложений.
API также будет использоваться для регистрации новой учетной записи через мобильное приложение.
Обновление 2: кажется, что есть несколько ответов на этот вопрос, но я, честно говоря, не знаю, какой из них помечать как ответ. Некоторые говорят, что это может быть сделано, некоторые говорят, что это невозможно.