У меня возникла сложная проблема.
Я использую Appengine Endpoints для реализации моего API-интерфейса на стороне сервера. Этот API возвращает некоторые данные моим пользователям. Приложение поддерживает покупки приложений. Моя идея проста: как только пользователь купит определенный API-интерфейс продукта, он вернет дополнительные данные. Прямой подход - передать флаг в качестве параметра API. Но я хочу сделать его более безопасным, включив аутентификацию OAuth моим конечным точкам. Поэтому, как только пользователь покупает что-то, он проверяется и запоминается на сервере. Таким образом, моя конечная точка API всегда будет знать, какие данные будут возвращены конкретному пользователю.
Однако проблема следующая. Я не хочу принуждать пользователей к аутентификации, если они не хотят совершить покупку. Но тогда возникает ситуация, когда пользователи могут использовать другое устройство, а не войти, используя свою учетную запись google через мое приложение. Таким образом, мой API вернет только бесплатные данные, но пользователь заплатил купленные продукты. Я могу запросить купленные продукты через игровые сервисы, но мне все равно нужно либо auth на моем сервере, либо передать флаг для получения полных данных.
Как это обычно делается? Могу ли я бесшумно использовать первую учетную запись пользователя Google (которая, как гарантируется, используется в Play Маркете) для авторизации на моем сервере или это неправильно?
Спасибо.