Oculte sus claves API en Android. Todo el mundo tiene un secreto | por tomerpacific | enero 2023

Foto de Oleg Didenko en Unsplash Está utilizando un sistema de control de versiones y su proyecto utiliza algunos servicios que requieren claves API. Todo está muy bien si está en su máquina local, pero obviamente no desea compartir esas claves API con el mundo.

¿Cómo podemos mantener nuestras claves API en nuestra aplicación pero también ocultarlas cuando subimos nuestro código a nuestro repositorio?

Queremos seguir usando nuestras claves API en nuestras aplicaciones de manera normal, pero también no poder divulgarlas. Ese es el punto misterios similares a los que guardas para ti, pero en una forma de desarrollador. Los secretos pueden representar información importante necesaria para el funcionamiento de su aplicación, pero no deben ser visibles para nadie que trabaje fuera del proyecto. Pueden ser claves de API o tokens de autorización, pero esencialmente es cualquier información de autorización que solo debe usar usted y solo usted. Al igual que no desea compartir su contraseña para un sitio web con los demás.

🚨 Descargo de responsabilidad: tenga en cuenta que la solución proporcionada en este artículo es no revelar sus secretos de su sistema de control de versiones, pero dado que son parte de su aplicación, aún pueden descubrirse al descompilar su APK. Para averiguar cómo hacerlo, este es un buen lugar para comenzar.

Mantén tus secretos a salvo

  1. En tu proyecto deberías tener uno propiedades.locales Archivo en la raíz de su proyecto
  2. Para asegurarse de que su sistema de control de versiones lo ignore, abra el archivo .gitignore y vea que está allí:

Parte del archivo .gitignore3. Debe importar el complemento Secrets Gradle a su proyecto: 3.1. Vaya al archivo raíz build.gradle de su proyecto y agregue la siguiente línea: buildscript {dependencies {id ‘com.google.android.libraries.mapsplatform.secrets-gradle-plugin’ version ‘2.0.1’ apply false}}3.2 . Vaya al archivo build.gradle de su aplicación y agregue la siguiente línea: plugins {…id ‘com.google.android.libraries.mapsplatform.secrets-gradle-plugin’}4. Agregue su clave API en el archivo local.properties:propiedades.locales5. Puedes usar tu secreto en el tuyo AndroidManifest.xml Archivo incluyendo una etiqueta de metadatos en la etiqueta de su aplicación: …. /// Escriba el nombre que proporcionó en su archivo local.properties6. Para acceder a su clave API, puede utilizar PackageManager para obtener los metadatos: val applicationInfo: ApplicationInfo = application.packageManager.getApplicationInfo(application.packageName, PackageManager.GET_META_DATA)val apiKey = applicationInfo.metaData[«YOUR_API_KEY_NAME»]7. Alternativamente, también puede usar el objeto BuildConfig para obtenerlo: BuildConfig.YOUR_API_KEY_NAME

Deja una respuesta

Tu dirección de correo electrónico no será publicada.