mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-23 22:27:34 -05:00
66b2175584
* New translations ansible.md (Chinese Traditional) * New translations uplinks.md (Chinese Traditional, Hong Kong) * New translations ssl.md (Urdu (Pakistan)) * New translations test.md (Chinese Traditional) * New translations test.md (Chinese Traditional, Hong Kong) * New translations test.md (Portuguese, Brazilian) * New translations test.md (Spanish) * New translations test.md (Urdu (Pakistan)) * New translations uplinks.md (Chinese Traditional) * New translations uplinks.md (Portuguese, Brazilian) * New translations ssl.md (Portuguese, Brazilian) * New translations uplinks.md (Spanish) * New translations uplinks.md (Urdu (Pakistan)) * New translations use-cases.md (Chinese Traditional) * New translations use-cases.md (Chinese Traditional, Hong Kong) * New translations use-cases.md (Portuguese, Brazilian) * New translations use-cases.md (Spanish) * New translations use-cases.md (Urdu (Pakistan)) * New translations ssl.md (Spanish) * New translations ssl.md (Chinese Traditional, Hong Kong) * New translations web.md (Chinese Traditional, Hong Kong) * New translations reverse-proxy.md (Chinese Traditional, Hong Kong) * New translations protect-your-dependencies.md (Urdu (Pakistan)) * New translations repositories.md (Chinese Traditional) * New translations repositories.md (Chinese Traditional, Hong Kong) * New translations repositories.md (Portuguese, Brazilian) * New translations repositories.md (Spanish) * New translations repositories.md (Urdu (Pakistan)) * New translations reverse-proxy.md (Chinese Traditional) * New translations reverse-proxy.md (Portuguese, Brazilian) * New translations ssl.md (Chinese Traditional) * New translations reverse-proxy.md (Spanish) * New translations reverse-proxy.md (Urdu (Pakistan)) * New translations server.md (Chinese Traditional) * New translations server.md (Chinese Traditional, Hong Kong) * New translations server.md (Portuguese, Brazilian) * New translations server.md (Spanish) * New translations server.md (Urdu (Pakistan)) * New translations web.md (Chinese Traditional) * New translations web.md (Portuguese, Brazilian) * New translations protect-your-dependencies.md (Portuguese, Brazilian) * New translations repositories.md (Chinese Simplified) * New translations install.md (Chinese Simplified) * New translations kubernetes.md (Chinese Simplified) * New translations logger.md (Chinese Simplified) * New translations notifications.md (Chinese Simplified) * New translations packages.md (Chinese Simplified) * New translations plugins.md (Chinese Simplified) * New translations protect-your-dependencies.md (Chinese Simplified) * New translations reverse-proxy.md (Chinese Simplified) * New translations home.md (Chinese Simplified) * New translations server.md (Chinese Simplified) * New translations ssl.md (Chinese Simplified) * New translations test.md (Chinese Simplified) * New translations uplinks.md (Chinese Simplified) * New translations use-cases.md (Chinese Simplified) * New translations web.md (Chinese Simplified) * New translations windows.md (Chinese Simplified) * New translations iis-server.md (Chinese Simplified) * New translations docker.md (Chinese Simplified) * New translations web.md (Spanish) * New translations web.md (Urdu (Pakistan)) * New translations windows.md (Chinese Traditional) * New translations windows.md (Chinese Traditional, Hong Kong) * New translations windows.md (Portuguese, Brazilian) * New translations windows.md (Spanish) * New translations windows.md (Urdu (Pakistan)) * New translations dev-plugins.md (Chinese Simplified) * New translations ansible.md (Chinese Simplified) * New translations auth.md (Chinese Simplified) * New translations cli.md (Chinese Simplified) * New translations config.md (Chinese Simplified) * New translations contributing.md (Chinese Simplified) * New translations protect-your-dependencies.md (Spanish) * New translations protect-your-dependencies.md (Chinese Traditional, Hong Kong) * New translations ansible.md (Chinese Traditional, Hong Kong) * New translations dev-plugins.md (Chinese Traditional) * New translations config.md (Spanish) * New translations config.md (Urdu (Pakistan)) * New translations contributing.md (Chinese Traditional) * New translations contributing.md (Chinese Traditional, Hong Kong) * New translations contributing.md (Portuguese, Brazilian) * New translations contributing.md (Spanish) * New translations contributing.md (Urdu (Pakistan)) * New translations dev-plugins.md (Chinese Traditional, Hong Kong) * New translations config.md (Chinese Traditional, Hong Kong) * New translations dev-plugins.md (Portuguese, Brazilian) * New translations dev-plugins.md (Spanish) * New translations dev-plugins.md (Urdu (Pakistan)) * New translations docker.md (Chinese Traditional) * New translations docker.md (Chinese Traditional, Hong Kong) * New translations docker.md (Portuguese, Brazilian) * New translations docker.md (Spanish) * New translations config.md (Portuguese, Brazilian) * New translations config.md (Chinese Traditional) * New translations home.md (Chinese Traditional) * New translations auth.md (Urdu (Pakistan)) * New translations ansible.md (Portuguese, Brazilian) * New translations ansible.md (Spanish) * New translations ansible.md (Urdu (Pakistan)) * New translations auth.md (Chinese Traditional) * New translations auth.md (Chinese Traditional, Hong Kong) * New translations auth.md (Portuguese, Brazilian) * New translations auth.md (Spanish) * New translations cli.md (Urdu (Pakistan)) * New translations cli.md (Chinese Traditional) * New translations cli.md (Chinese Traditional, Hong Kong) * New translations cli.md (Portuguese, Brazilian) * New translations cli.md (Spanish) * New translations docker.md (Urdu (Pakistan)) * New translations home.md (Chinese Traditional, Hong Kong) * New translations protect-your-dependencies.md (Chinese Traditional) * New translations packages.md (Chinese Traditional, Hong Kong) * New translations logger.md (Urdu (Pakistan)) * New translations notifications.md (Chinese Traditional) * New translations notifications.md (Chinese Traditional, Hong Kong) * New translations notifications.md (Portuguese, Brazilian) * New translations notifications.md (Spanish) * New translations notifications.md (Urdu (Pakistan)) * New translations packages.md (Chinese Traditional) * New translations packages.md (Portuguese, Brazilian) * New translations logger.md (Portuguese, Brazilian) * New translations packages.md (Spanish) * New translations packages.md (Urdu (Pakistan)) * New translations plugins.md (Chinese Traditional) * New translations plugins.md (Chinese Traditional, Hong Kong) * New translations plugins.md (Portuguese, Brazilian) * New translations plugins.md (Spanish) * New translations plugins.md (Urdu (Pakistan)) * New translations logger.md (Spanish) * New translations logger.md (Chinese Traditional, Hong Kong) * New translations home.md (Portuguese, Brazilian) * New translations install.md (Chinese Traditional) * New translations home.md (Spanish) * New translations home.md (Urdu (Pakistan)) * New translations iis-server.md (Chinese Traditional) * New translations iis-server.md (Chinese Traditional, Hong Kong) * New translations iis-server.md (Portuguese, Brazilian) * New translations iis-server.md (Spanish) * New translations iis-server.md (Urdu (Pakistan)) * New translations install.md (Chinese Traditional, Hong Kong) * New translations logger.md (Chinese Traditional) * New translations install.md (Portuguese, Brazilian) * New translations install.md (Spanish) * New translations install.md (Urdu (Pakistan)) * New translations kubernetes.md (Chinese Traditional) * New translations kubernetes.md (Chinese Traditional, Hong Kong) * New translations kubernetes.md (Portuguese, Brazilian) * New translations kubernetes.md (Spanish) * New translations kubernetes.md (Urdu (Pakistan))
66 lines
No EOL
1.4 KiB
Markdown
66 lines
No EOL
1.4 KiB
Markdown
---
|
|
id: dev-plugins
|
|
title: Developing Plugins
|
|
---
|
|
There are many ways to extend `verdaccio`, currently we only support `authentication plugins`
|
|
|
|
## Authentication Plugins
|
|
|
|
This section will describe how it looks like a Verdaccio plugin in a ES5 way. Basically we have to return an object with a single method called `authenticate` that will recieve 3 arguments (`user, password, callback`). Once the authentication has been executed there is 2 options to give a response to `verdaccio`.
|
|
|
|
##### OnError
|
|
|
|
Either something bad happened or auth was unsuccessful.
|
|
|
|
callback(null, false)
|
|
|
|
|
|
##### OnSuccess
|
|
|
|
The auth was successful.
|
|
|
|
`groups` is an array of strings where the user is part of.
|
|
|
|
callback(null, groups);
|
|
|
|
|
|
### Example
|
|
|
|
```javascript
|
|
function Auth(config, stuff) {
|
|
var self = Object.create(Auth.prototype);
|
|
self._users = {};
|
|
|
|
// config for this module
|
|
self._config = config;
|
|
|
|
// verdaccio logger
|
|
self._logger = stuff.logger;
|
|
|
|
// pass verdaccio logger to ldapauth
|
|
self._config.client_options.log = stuff.logger;
|
|
|
|
return self;
|
|
}
|
|
|
|
Auth.prototype.authenticate = function (user, password, callback) {
|
|
var LdapClient = new LdapAuth(self._config.client_options);
|
|
....
|
|
LdapClient.authenticate(user, password, function (err, ldapUser) {
|
|
...
|
|
var groups;
|
|
...
|
|
callback(null, groups);
|
|
});
|
|
};
|
|
|
|
module.exports = Auth;
|
|
```
|
|
|
|
## Storage Plugins
|
|
|
|
// in progress
|
|
|
|
## Middleware Integration
|
|
|
|
// in progress |