setaccesstype secret google funciona example como oauth google-api installed-applications

secret - OAuth 2 Consideraciones sobre el cliente de la aplicación instalada(google api)



refresh token google api (0)

Estoy desarrollando una aplicación instalada que accede a google-api a través de OAuth2. Hay algunos problemas de seguridad que actualmente no conozco ninguna solución real. No importa lo difícil que ofusque mi secreto de cliente, una persona determinada puede recuperarlo y usarlo. Dos problemas surgen de esto:

  1. alguien usa el secreto de mi cliente para modificar los datos del usuario:

    hasta ahora parece que una aplicación instalada necesita ser autorizada de nuevo cuando no se utiliza un token de actualización. Sin embargo, no estoy seguro de si esto es parte de la API del cliente que uso o si está garantizado en el lado del servidor. Si está asegurado en el servidor, estoy contento con eso :)

  2. Alguien usa el secreto de mi cliente para superar mi límite de acceso:

    Ok esto es específico de Google. Mientras no pague, tengo una cuota gratuita y puede agotarse. Entonces, alguien puede usar el secreto de mi cliente para agotar la cuota y ningún otro cliente podrá acceder a sus datos :( No puedo pensar en una solución real para esto además de nunca actualizar el servicio al nivel pagado.

La única solución segura que me viene a la mente es tener un servidor web como puerta de enlace que interactúa con google y transfiere el token de acceso al cliente. O tal vez incluso conserva los tokens y simplemente transfiere los datos solicitados (después de la autenticación del usuario (openid ... lo que sea))

Como conclusión: no tengo un servidor web que pueda usar como puerta de enlace. Por lo tanto, siempre que los datos del usuario estén seguros (nadie puede acceder a ellos con un secreto de cliente robado sin que el usuario otorgue acceso a los nuevos tokens) puedo seguir adelante con el límite de cuota libre y ver qué tan rápido se excede y nunca actualizarlo .

Me agradaría cualquier comentario sobre este tema. ¡Gracias!