Solución:
Está definitivamente no un comportamiento seguro para colocar el token en cualquier archivo git verificado, incluido .npmrc.
A continuación, se muestran los pasos que puede seguir su equipo para aprovechar de forma segura su token npm.
Hay dos entornos diferentes a considerar:
- la máquina de desarrollo local de cada desarrollador
- la plataforma de implementación de la aplicación
desarrollador local
Seguir las instrucciones de configuración global que vinculó en su pregunta no es la solución.
Cree el archivo .npmrc similar a las instrucciones “Por proyecto”, pero sustituya su token real con un nombre de variable, con el prefijo $
. es decir:
@fontawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$TOKEN
npm detectará un archivo de variables de entorno llamado .env
. Entonces, en un .gitignore
d .env, agregue su par de valores de clave secreta, es decir:
TOKEN=ABC123
También puede prefijar el nombre de la variable con “NPM_CONFIG_”, de acuerdo con npm-config
docs, es decir:
NPM_CONFIG_TOKEN=ABC123
Ahora, cuando el desarrollador se ejecuta npm i
, las dependencias de fuentes impresionantes se cargarán desde el repositorio privado.
NOTA: ¡No siga los documentos actuales de npm-config sobre la sintaxis de las variables de entorno! Vea esta respuesta de desbordamiento de pila, es decir:
BAD npm-config ENVIRONMENT VAR SYNTAX
${TOKEN}
GOOD npm-config ENVIRONMENT VAR SYNTAX
$TOKEN
plataforma de implementación de aplicaciones
Siga todos los pasos de la sección de desarrollo local anterior, MÁS:
- cree una variable de entorno en la plataforma con el mismo nombre que en el archivo .npmrc.
Si el host de su aplicación es Netlify, consulte sus documentos de Variables de entorno de compilación.
https://docs.npmjs.com/using-private-packages-in-a-ci-cd-workflow
Exporta tu token secreto a tu sesión, por ejemplo, export NPM_TOKEN="00000000-0000-0000-0000-000000000000"
Dentro de tu ~/.npmrc
, agregar //registry.npmjs.org/:_authToken=${NPM_TOKEN}