reembolso play peliculas para google descargar comprar clave app android certificate google-play-services jwt

android - peliculas - Servicios de Google Play que devuelven un token firmado con una clave que no es de Google



reembolso google play (0)

Tengo un cliente de Android que obtiene un token de autenticación de Google Play Services mediante el uso de GoogleAuthUtil.getToken(Context context, Account account, String scope) .

Luego se envía a un servidor backend (Go), que verifica que el token haya sido firmado por uno de los certificados de firma de Google en https://www.googleapis.com/oauth2/v1/cert . Para hacer esto, debe buscar el certificado asignado al "niño" en el encabezado del token.

El 99% de las veces, esto funciona bien, pero tengo situaciones normales en las que el "niño" dado no se corresponde con ningún certificado publicado de Google, por lo que no puedo autenticar el token.

Editar:

He agregado un registro extenso en el servidor para intentar rastrear esto, y hay algunas relaciones que vale la pena mencionar:

  1. Cualquier kid inválido dado solo se usa para un solo usuario. A menudo veo solicitudes múltiples durante varios días del mismo usuario con un kid no válido dado, pero solo de parte de ese usuario.
  2. Un usuario que da un kid inválido nunca usa un kid válido para ninguna solicitud, o cualquier otro kid para una solicitud, incluso si son días separados. Afaik Google realiza un ciclo de sus certificados cada 24 horas aproximadamente.
  3. Muchos usuarios están utilizando versiones anteriores de clientes. La mayoría de los usuarios actualizan dentro de uno o dos días de la nueva versión que se está lanzando, pero la mayoría de los usuarios con claves de certificado no válidas utilizan versiones que tienen algunas semanas de antigüedad.
  4. Las solicitudes provienen de una distribución uniforme en todo el mundo en línea con nuestra base de usuarios.
  5. Las solicitudes provienen de una extensión de los tiempos, en línea con nuestra base de usuarios.
  6. Las solicitudes provienen de una gama de dispositivos, fabricantes y modelos.

Mi opinión actual es que probablemente provenga de usuarios que hayan descargado la APK de un sitio que no sea Google Play, pero no tengo forma de verificar esto ahora.

Edición: hay un rastreador de problemas para esto, pero parece que se ha marcado como una prioridad baja. Si alguien tiene este problema, hágalo saber en el rastreador. https://issuetracker.google.com/issues/37734997