* New translations web.md (Portuguese, Brazilian) docs(website): new translations * New translations web.md (Spanish) docs(website): new translations * New translations web.md (Chinese Simplified) docs(website): new translations * New translations docker.md (Chinese Simplified) docs(website): new translations * New translations plugins.md (Spanish) docs(website): new translations * New translations plugins.md (Portuguese, Brazilian) docs(website): new translations * New translations plugins.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations install.md (Chinese Simplified) docs(website): new translations * New translations install.md (Chinese Simplified) docs(website): new translations * New translations install.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations logger.md (Chinese Simplified) docs(website): new translations * New translations logger.md (Chinese Simplified) docs(website): new translations * New translations node-api.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations * New translations node-api.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations * New translations node-api.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations iis-server.md (Chinese Simplified) docs(website): new translations * New translations install.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations kubernetes.md (Chinese Simplified) docs(website): new translations * New translations logger.md (Chinese Simplified) docs(website): new translations * New translations notifications.md (Chinese Simplified) docs(website): new translations
6.6 KiB
id | title |
---|---|
plugins | Plugins |
Verdaccio es una aplicación extensible. Puede ser extendida en muchas maneras, tanto con nuevos métodos de autenticación, añadiendo endpoints o usando un almacenamiento personalizado.
If you are interested to develop your own plugin, read the development section.
Uso
Instalación
$> npm install --global verdaccio-activedirectory
verdaccio
como un fork de sinopia tiene compatibilidad con versiones anteriores, con plugins que son compatibles con sinopia@1.4.0
. En tal caso la instalación es la misma.
$> npm install --global sinopia-memory
Configuración
Abra el archivo config.yaml
y actualice la sección auth
como a continuación:
La configuración por defecto luce así, debido a que usamos un plugin htpasswd
incorporado por defecto que puede desactivar con solo comentar las siguientes líneas.
Configuración del Plugin Auth
htpasswd:
file: ./htpasswd
#max_users: 1000
y reemplazándolos con (en caso de que decida usar un plugin ldap
).
auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Múltiples Plugins Auth
Esto es técnicamente posible, el orden de los plugins se vuelve importante, las credenciales serán resueltas en orden.
auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Configuración del Plugin Middleware
Este es un ejemplo de como se instala un plugin middleware. Todos los plugins middleware deben estar definidos en el namespace middlewares.
middlewares:
audit:
enabled: true
Configuración del Plugin Store (Almacén)
Este es un ejemplo de como instalar un plugin de almacenamiento. Todos los plugins de almacenamiento debe estar definidos en el namespace store.
store:
memory:
limit: 1000
Si define un almacenamiento personalizado, la propiedad storage en el archivo de configuración será ignorada.
Plugins heredados
Plugins de Sinopia
(compatible con todas las versiones)
- sinopia-npm: plugin auth para sinopia soportando un registro npm.
- sinopia-memory: plugin auth para sinopia que mantiene a los usuarios en la memoria.
- sinopia-github-oauth-cli.
- sinopia-crowd: plugin auth para sinopia que soporta atlassian crowd.
- sinopia-activedirectory: plugin de autenticación Active Directory para sinopia.
- sinopia-github-oauth: plugin de autenticación para sinopia2, el cual soporta el flujo web de github oauth.
- sinopia-delegated-auth: plugin de autenticación de Sinopia que delega autenticación a otro URL HTTP
- sinopia-altldap: Alterna el plugin LDAP Auth para Sinopia
- sinopia-request: Un plugin sencillo y completamente auth con configuración para usar una API externa.
- sinopia-htaccess-gpg-email: Genera contraseña en formato htaccess, encripta con GPG y la evía a través de la API MailGun a los usuarios.
- sinopia-mongodb: Un plugin fácil y completamente auth con configuración para usar una base de datos mongodb.
- sinopia-htpasswd: plugin auth para sinopia que soporta el formato htpasswd.
- sinopia-leveldb: un plugin auth leveldb respaldado para el npm privado de sinopia.
- sinopia-gitlabheres: plugin de autenticación de Gitlab para sinopia.
- sinopia-gitlab: plugin de autenticación de Gitlab para sinopia
- sinopia-ldap: plugin LDAP auth para sinopia.
- sinopia-github-oauth-env plugin de autenticación de Sinopia con flujo web github oauth.
Todos los plugins de sinopia deben ser compatibles con todas las futuras versiones de verdaccio. De cualquier forma, alentamos a los contribuyentes a migrarlos a la API moderna de verdaccio y usar el prefijo como verdaccio-xx-name.
Plugins de Verdaccio
(compatible desde 2.1.x)
Plugins de Autorización
- verdaccio-bitbucket: plugin de autenticación de Bitbucket para verdaccio.
- verdaccio-ldap: plugin LDAP auth para verdaccio.
- verdaccio-active-directory: plugin de autenticación Active Directory para verdaccio
- verdaccio-gitlab: use la Token de Acceso Personal de GitLab para autenticarse
- verdaccio-htpasswd: Auth basado en el plugin del archivo htpasswd (incorporado) para verdaccio
- verdaccio-github-oauth: Github oauth authentication plugin for verdaccio.
Plugins de Middleware
-
verdaccio-audit: plugin de verdaccio para soporte cli de npm audit (incorporado) (compatible desde 3.x)
-
verdaccio-profile-api: plugin de verdaccio para soporte cli de npm profile y npm profile set password para la autenticación basada en verdaccio-htpasswd
Plugins de Storage (Almacenamiento)
(compatible desde 3.x)
- verdaccio-memory Plugin de almacenamiento para alojar paquetes en la Memoria
- verdaccio-s3-storage Plugin de almacenamiento para alojar paquetes Amazon S3
- verdaccio-google-cloud Plugin de almacenamiento para alojar paquetes Google Cloud Storage
Advertencias
No todos estos plugins han sido probados continuamente, algunos pueden no funcionar del todo. Por favor, si encontró algún problema siéntase con la libertad de notificar al dueño de cada plugin.