Servicios de reproducción de Google que devuelven un token firmado con una clave distinta de Google
Tengo un cliente de Android obteniendo un token de autenticación de Google Play Services, utilizando GoogleAuthUtil.getToken(Context context, Account account, String scope)
.
Esto se envía a un servidor backend (Go), que comprueba que el token fue firmado por uno de los certificados de firma de Google de https://www.googleapis.com/oauth2/v1/cert . Para ello, debe buscar el certificado asignado al "chico" en el encabezado de token.
- Cómo probar Google App Invites
- Android Studio 1.5 - Cómo mostrar javadoc para los servicios de Google Play en AS
- NoOptions no se puede resolver con un tipo
- Google Play Store está dando créditos adicionales al usuario?
- Uso de FusedLocationApi con Xamarin 3
99% del tiempo, esto funciona muy bien, pero tengo situaciones regulares donde el "chico" dado no corresponde a ningún certificado publicado de Google, y por lo tanto no puedo autenticar el token.
Editar:
He añadido amplia registro en el servidor para tratar de rastrear esto, y hay algunas relaciones que vale la pena anotar:
- Cualquier
kid
no válido dado se utiliza solamente para un solo usuario. A menudo veo varias solicitudes durante varios días desde el mismo usuario con un determinado inválido, pero sólo desde ese usuario. - Un usuario que da a un
kid
inválido nunca utiliza unkid
válido para cualquier solicitud, o cualquier otrokid
para una solicitud, incluso si son días de diferencia. Afaik Google cicla sus certificados cada 24 horas aproximadamente. - Muchos usuarios utilizan versiones de cliente más antiguas. La mayoría de los usuarios se actualizan dentro de un día o dos de una versión nueva que se está publicando, pero la mayoría de los usuarios con claves de certificado no válidas utilizan versiones que tienen algunas semanas de antigüedad.
- Las solicitudes vienen de una propagación uniforme en todo el mundo en línea con nuestra base de usuarios.
- Las solicitudes vienen de una extensión de veces, en línea con nuestra base de usuarios.
- Las solicitudes vienen de una gama de dispositivos, fabricantes y modelos.
Mi opinión actual es que es probablemente de usuarios que han descargado el APK de un sitio distinto de Google Play, pero no tengo forma de verificarlo ahora mismo.
- La API de ubicación de Google Play Service devuelve una ubicación incorrecta a veces
- No se pudo encontrar com.google.android.gms: play-services: 7.0.0
- API de Google Play Music para Android
- Reconocimiento de actividad deja de recibir actualizaciones cuando el teléfono pasa al modo de espera (estado de apagado de la pantalla)
- UserRecoverableAuthException: NeedPermission
- Android Studio con Google Play Services
- No se encontró el recurso de servicio de Google Play
- PlacePicker no recoge temas de material
- El acceso al Dex ahora es imposible, comenzando con 1.4.0
- ¿Es posible el estilo de los estilos de fuentes de Android con líder y el seguimiento?