Tengo la aplicación Ionic PWA publicada para Android e iOS (utilicé Capacitor para generar la compilación nativa). En el código de la interfaz, tiene mi clave API de Google Maps, sin embargo, no puedo restringirla a ninguna de las opciones que ofrece Google porque ...
Referencias HTTP : no está en un nombre de dominio público, está en un host local dentro de la vista web de la aplicación nativa.
http://localhost/
para Android ycapacitor://localhost/
para iOS. No parece muy seguro usarlos como restricciones, ya que son muy genéricos, y todas las demás aplicaciones tendrán las mismas.Direcciones IP : por razones obvias.
- Aplicaciones de Android : no está dentro del código nativo, está dentro de una vista web.
Aplicaciones de iOS : no está dentro del código nativo, está dentro de una vista web.
Ninguna de estas opciones puede funcionar para mi situación. Entonces, ¿cómo puedo proteger mi clave API del abuso?
¿Algunas ideas? No puedo ser el único que usa la API de Google Maps dentro de una aplicación Ionic.
fuente
Respuestas:
Puede configurar el nombre de host de las aplicaciones de condensadores
y luego restringir las claves API a
capacitor://unique-app
https://capacitor.ionicframework.com/docs/basics/configuring-your-app
fuente
Para proteger su clave API, debe verificar el valor de
window.location.href
dentro de una vista web. Supongo que verás algo asífile://some/path
.Por lo tanto, deberá aplicar la restricción de referencia HTTP para esta ruta. Tenga en cuenta que las URL con un protocolo file: // requieren una representación especial como se explica en
https://developers.google.com/maps/documentation/javascript/get-api-key#restrict_key
Espero que esto ayude.
fuente