TL; DR
Могу ли я получить уникального запутанного пользователя из покупок Play? Должен ли я?
Текущий поток:
При первом открытии приложения создается анонимный пользователь с использованием Firebase Auth; его UID хранится в Firestore. Когда покупка сделана, токен покупки сохраняется для этого указанного c UID, и что один пользователь теперь владеет этими покупками. Бэкэнд подписался на Play pubsub topi c и подтверждает покупку. В случае успеха количество кредитов увеличивается для этого пользователя в бэкэнде. Приложение подписывается на изменения документа FireStore и видит это немедленно. Другой пользователь больше не может требовать этих покупок.
Когда пользователь устанавливает приложение на новый телефон, исторические покупки c извлекаются, и эти токены могут сопоставляться с существующим пользователем на сервере. Я мог бы создать собственный токен JWT с токенами покупки в качестве учетных данных. Возникло несколько вопросов:
- Есть ли какие-либо проблемы с безопасностью, которые я должен принять во внимание?
- Будут ли пользователи чувствовать, что их отслеживают, если данные других пользователей синхронизируются таким образом, без необходимости входа в систему? Другие вопросы конфиденциальности?
- Достаточно ли отправить токены в виде обычного текста с помощью Firebase Functions` SSL, или он должен быть зашифрован с помощью частной общедоступной c комбинации клавиш?
Две вещи: меня не интересует фактический адрес учетной записи Play. Реализация входа находится в списке задач. Я предпочтительно не хочу заставлять пользователя входить в систему, прежде чем совершать покупку, как предложено здесь , поскольку это повышает порог для траты денег.