0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-23 22:27:34 -05:00
verdaccio/website/translated_docs/zh-Hans/dev-plugins.md
verdacciobot cfb169be0f New Crowdin translations (#456)
* New translations ansible.md (Chinese Simplified)

* New translations packages.md (Chinese Simplified)

* New translations windows.md (Chinese Simplified)

* New translations web.md (Chinese Simplified)

* New translations use-cases.md (Chinese Simplified)

* New translations uplinks.md (Chinese Simplified)

* New translations test.md (Chinese Simplified)

* New translations ssl.md (Chinese Simplified)

* New translations server.md (Chinese Simplified)

* New translations reverse-proxy.md (Chinese Simplified)

* New translations repositories.md (Chinese Simplified)

* New translations protect-your-dependencies.md (Chinese Simplified)

* New translations plugins.md (Chinese Simplified)

* New translations notifications.md (Chinese Simplified)

* New translations auth.md (Chinese Simplified)

* New translations logger.md (Chinese Simplified)

* New translations kubernetes.md (Chinese Simplified)

* New translations install.md (Chinese Simplified)

* New translations index.md (Chinese Simplified)

* New translations iis-server.md (Chinese Simplified)

* New translations home.md (Chinese Simplified)

* New translations docker.md (Chinese Simplified)

* New translations dev-plugins.md (Chinese Simplified)

* New translations contributing.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations cli.md (Chinese Simplified)

* New translations build.md (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations install.md (Chinese Simplified)

* New translations install.md (Chinese Simplified)

* New translations home.md (Chinese Simplified)

* New translations cli.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations auth.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations auth.md (Chinese Simplified)

* New translations auth.md (Chinese Simplified)

* New translations config.md (Chinese Simplified)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations config.md (Chinese Simplified)

* New translations config.md (Spanish)

* New translations config.md (Urdu (Pakistan))

* New translations config.md (Chinese Traditional, Hong Kong)

* New translations config.md (Portuguese, Brazilian)

* New translations config.md (Chinese Traditional)
2018-01-08 20:45:03 +01:00

1.4 KiB

id date title
dev-plugins 2017-07-10T23:36:56.503Z 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

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