tag notes latest from example delete create crear git github api-key

notes - github tags



¿Cómo empujar el código a Github ocultando las claves API? (4)

Quiero enviar algunos códigos a mi repositorio de GitHub. Estos códigos están en diferentes idiomas como Javascript , Java , Python , etc. Algunos de esos códigos contienen alguna clave de API privada que no quiero publicar.

¿Hay alguna forma de ocultarlo automáticamente.? ¿Debo eliminarlo de mi código manualmente?

Hay muchos proyectos que quiero impulsar a GitHub. Por lo tanto, la eliminación manual no es una buena opción.


Cada vez que tienes archivos con datos sensibles como

config.yml

NO DEBE comprometerlos en su repositorio. Te mostraré un ejemplo.

Supongamos que tiene un archivo yaml con algún nombre de usuario y contraseña:

# app/config/credentials.yml credentials: username: foo password: bar

Si desea ocultar los valores foo y de bar , elimine este archivo de su repositorio, pero agregue solo un archivo de distribution que apunte a mantener los campos de nombre de usuario y contraseña, pero sin valores reales:

# app/config/credentials.yml.dist credentials: username: ~ password: ~

Durante la instalación, puede obtener este archivo, copiando app/config/credentials.yml.dist a app/config/credentials.yml .

Además, recuerde agregar app/config/credentials.yml a su archivo .gitignore .

Es lo mismo para las teclas api:

# app/config/config.yml config: credentials: username: foo password: bar api_stuffs: api_foo: fooooo api_secret: baaaaar api_token: tooooken

Esto funciona para los archivos de configuración, y es un buen patrón que le ahorra cada vez que necesita compartir la estructura de una configuración pero no datos razonables. Archivos ini, configuraciones, etc.


Debería considerar usar archivos .env y leer las claves de las variables de entorno. La forma de hacerlo depende del idioma y las herramientas que utilice (para node.js , php , etc.).

Puede excluir los archivos .env de las confirmaciones agregando .env a .gitignore . También puede cargar un ejemplo de configuración .env.example con datos ficticios o espacios en blanco para mostrar el esquema que requiere su aplicación.


Puede agregar variables de entorno en su servidor para ocultar sus claves API. Todos los lenguajes de programación populares tienen métodos predeterminados para acceder a las variables de entorno.


Tener su clave API en el código es probablemente una mala idea de todos modos. Significa que cualquier persona que quiera usar su código tendrá que editarlo y reconstruirlo.

La solución de libros de texto para tales casos de uso es mover las credenciales a algún archivo de configuración y agregar documentación clara en el archivo README.md sobre cómo se estructura y ubicación del archivo de configuración. También puede agregar una entrada para él en su archivo gitignore para evitar que usted (y cualquier otra persona) envíe su información privada a GitHub por error.