Android InApp Billing - po co naprawdę są noncesy?

TAK, przeczytałem wszystkie dokumenty docs @ developer.android.com i rozumiem to wszystko z jednym podstawowym wyjątkiem - do czego został wprowadzony.

Ponieważ wszystkie odpowiedzi na zamówienia z Google Play są podpisane przez prywatny klucz niedostępny dla każdego i są weryfikowane przez sparowany klucz publiczny (w moim przypadku na serwerze zewnętrznym, więc jest on również niedostępny dla trzeciej osoby), po prostu (prawie) nie ma sposobu naciąganie.

Wszystkie te rzeczy są po prostu zbędnym sposobem zabezpieczenia zakupów. Co więcej, doktorzy nic nie mówią o sytuacji, gdy:

Kupuję przedmiot;Wygeneruj nonce i wyślij do Google Play;Awaria, więc wszystkie mojeznane nonce są zgubieni;Uruchom ponownie moją aplikację i otrzymaj oddzwonienie z Google Play;... I odrzuć to połączenie z powodu nie rozpoznania nonce!

W opisanej powyżej sytuacji użytkownik płaci za przedmiot i nigdy go nie otrzymuje, co jest haniebne. Oczywiście mogę przechowywać nonces w jakimś pliku i ponownie go przeczytać, gdy moja aplikacja wróci, ale narusza to wszystkie zasady dla nonces.

IMHO ktoś właśnie powiedział: „Hej, proces weryfikacji jest zbyt prosty, dodajmy coś więcej z przypadkowością, będzie znacznie fajniej!”. Więc ktoś to zrobił.

Czy mógłbyś otworzyć mój umysł na inny przypadek użycia, którego mi brakuje? W przeciwnym razie usuwam całą część nonces z mojego kodu.

questionAnswers(4)

yourAnswerToTheQuestion