Skip to main content

Autenticación

La autenticación esta atada al plugin de autenticación que estes usando. Las restricciones de paquetes es manejado por el maneador de acceso de paquetes.

El cliente de autenticación es manejado por el cliente npm en su mismo. Una vez has iniciado sesión en la aplicación:

npm adduser --registry http://localhost:4873

Un toquen es generado en el archivo de configuración de npm alojado en el folder de usuario de tu máquina. Para mas información sobre .npmrclea la documentación oficial.

cat .npmrc
registry=http://localhost:5555/
//localhost:5555/:_authToken="secretVerdaccioToken"
//registry.npmjs.org/:_authToken=secretNpmjsToken

Publicar anonimamente

verdaccio allows you to enable anonymous publish. verdaccio te permite habilitar publicar de manera anónima, para poder hacerlo necesitarás configurar correctamente tu acceso a paquetes.

Por ejemplo:

  'my-company-*':
access: $anonymous
publish: $anonymous
proxy: npmjs

Como se describe en el ticket #212 hasta la versión de pm@5.3.0 y todas las versiones menores no permitirán publicar sin un token.

Understanding Groups

The meaning of $all and $anonymous

As you know Verdaccio uses the htpasswd by default. That plugin does not implement the methods allow_access, allow_publish and allow_unpublish. Thus, Verdaccio will handle that in the following way:

  • If you are not logged in (you are anonymous), $all and $anonymous means exactly the same.
  • If you are logged in, $anonymous won't be part of your groups and $all will match any logged user. A new group $authenticated will be added to the list.

As a takeaway, $all will match all users, independently whether is logged or not.

The previous behavior only applies to the default authentication plugin. If you are using a custom plugin and such plugin implements allow_access, allow_publish or allow_unpublish, the resolution of the access depends on the plugin itself. Verdaccio will only set the default groups.

Let's recap:

  • logged: $all, $authenticated, + groups added by the plugin
  • anonymous (logged out): $all and $anonymous.

Htpasswd por defecto

In order to simplify the setup, verdaccio use a plugin based on htpasswd. Since version v3.0.x the verdaccio-htpasswd plugin is used by default.

auth:
htpasswd:
file: ./htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
#max_users: 1000
PropiedadTipoRequeridoEjemploSoporteDescripción
filestringYes./htpasswdallarchivo que aloja las credenciales encriptadas
max_usersnumberNo1000alllimita los usuarios que pueden registrarse

En caso que decidas no permitir más nuevos registros, puedes definir max_users: -1.