mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-17 07:45:52 +01:00
32 lines
752 B
JavaScript
32 lines
752 B
JavaScript
'use strict';
|
|
|
|
module.exports = Plugin;
|
|
|
|
function Plugin(config, stuff) {
|
|
let self = Object.create(Plugin.prototype);
|
|
self._config = config;
|
|
return self;
|
|
}
|
|
|
|
// plugin is expected to be compatible with...
|
|
Plugin.prototype.verdaccio_version = '1.1.0';
|
|
|
|
Plugin.prototype.allow_access = function(user, pkg, cb) {
|
|
let self = this;
|
|
if (!pkg.handled_by_auth_plugin) {
|
|
// delegate to next plugin
|
|
return cb(null, false);
|
|
}
|
|
if (user.name !== self._config.allow_user) {
|
|
let err = Error('i don\'t know anything about you');
|
|
err.status = 403;
|
|
return cb(err);
|
|
}
|
|
if (pkg.name !== self._config.to_access) {
|
|
let err = Error('you\'re not allowed here');
|
|
err.status = 403;
|
|
return cb(err);
|
|
}
|
|
return cb(null, true);
|
|
};
|