verdaccio-auth-memory 10.1.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Memory.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Config, PluginOptions, Callback, PackageAccess, IPluginAuth, RemoteUser, Logger } from '@verdaccio/types';
1
+ import { Config, PluginOptions, Callback, PackageAccess, IPluginAuth, RemoteUser, Logger } from '@verdaccio/legacy-types';
2
2
  export interface UserMemory {
3
3
  name: string;
4
4
  password: string;
package/lib/Memory.js CHANGED
@@ -4,181 +4,128 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _commonsApi = require("@verdaccio/commons-api");
9
-
10
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
8
  class Memory {
13
9
  constructor(config, appOptions) {
14
- _defineProperty(this, "_logger", void 0);
15
-
16
- _defineProperty(this, "_users", void 0);
17
-
18
- _defineProperty(this, "_config", void 0);
19
-
20
- _defineProperty(this, "_app_config", void 0);
21
-
22
10
  this._users = config.users || {};
23
11
  this._config = config;
24
12
  this._logger = appOptions.logger;
25
13
  this._app_config = appOptions.config;
26
14
  }
27
-
28
15
  authenticate(user, password, done) {
29
16
  const userCredentials = this._users[user];
30
-
31
17
  if (!userCredentials) {
32
18
  this._logger.debug({
33
19
  user
34
20
  }, '[VerdaccioMemory] user @{user} does not exist');
35
-
36
21
  return done(null, false);
37
22
  }
38
-
39
23
  if (password !== userCredentials.password) {
40
24
  const err = (0, _commonsApi.getUnauthorized)("i don't like your password");
41
-
42
25
  this._logger.info({
43
26
  user
44
27
  }, '[VerdaccioMemory] password invalid for: @{user}');
45
-
46
28
  return done(err);
47
- } // authentication succeeded!
48
- // return all usergroups this user has access to;
49
-
29
+ }
50
30
 
31
+ // authentication succeeded!
32
+ // return all usergroups this user has access to;
51
33
  this._logger.info({
52
34
  user
53
35
  }, '[VerdaccioMemory] authentication succeeded for @{user}');
54
-
55
36
  return done(null, [user]);
56
37
  }
57
-
58
38
  adduser(user, password, done) {
59
39
  if (this._users[user]) {
60
40
  this._logger.debug({
61
41
  user
62
42
  }, '[VerdaccioMemory] user @{user} already exist');
63
-
64
43
  return done(null, true);
65
44
  }
66
-
67
45
  if (this._app_config.max_users) {
68
46
  if (Object.keys(this._users).length >= this._app_config.max_users) {
69
47
  const err = (0, _commonsApi.getConflict)('maximum amount of users reached');
70
48
  return done(err);
71
49
  }
72
50
  }
73
-
74
51
  this._users[user] = {
75
52
  name: user,
76
53
  password: password
77
54
  };
78
-
79
55
  this._logger.info({
80
56
  user
81
57
  }, '[VerdaccioMemory] user added succeeded for @{user}');
82
-
83
58
  done(null, user);
84
59
  }
85
-
86
60
  changePassword(username, password, newPassword, cb) {
87
61
  const user = this._users[username];
88
-
89
62
  this._logger.debug({
90
63
  user: username
91
64
  }, 'user: @{user} init change password');
92
-
93
65
  if (user && user.password === password) {
94
66
  user.password = newPassword;
95
67
  this._users[username] = user;
96
-
97
68
  this._logger.info({
98
69
  user
99
70
  }, '[VerdaccioMemory] user changed password succeeded for @{user}');
100
-
101
71
  cb(null, user);
102
72
  } else {
103
73
  const err = (0, _commonsApi.getNotFound)('user not found');
104
-
105
74
  this._logger.debug({
106
75
  user: username
107
76
  }, 'change password user @{user} not found');
108
-
109
77
  return cb(err);
110
78
  }
111
79
  }
112
-
113
80
  allow_access(user, pkg, cb) {
114
81
  if (pkg.access && pkg.access.includes('$all') || pkg.access && pkg.access.includes('$anonymous')) {
115
82
  this._logger.debug({
116
83
  user: user.name
117
84
  }, '[VerdaccioMemory] user: @{user} has been granted access');
118
-
119
85
  return cb(null, true);
120
86
  }
121
-
122
87
  if (!user.name) {
123
88
  const err = (0, _commonsApi.getForbidden)('not allowed to access package');
124
-
125
89
  this._logger.debug({
126
90
  user: user.name
127
91
  }, 'user: @{user} not allowed to access package');
128
-
129
92
  return cb(err);
130
93
  }
131
-
132
94
  if (pkg.access && pkg.access.includes(user.name) || pkg.access && pkg.access.includes('$authenticated')) {
133
95
  this._logger.debug({
134
96
  user: user.name
135
97
  }, '[VerdaccioMemory] user: @{user} has been granted access');
136
-
137
98
  return cb(null, true);
138
99
  }
139
-
140
100
  const err = (0, _commonsApi.getForbidden)('not allowed to access package');
141
-
142
101
  this._logger.debug({
143
102
  user: user.name
144
103
  }, '[VerdaccioMemory] user: @{user} not allowed to access package');
145
-
146
104
  return cb(err);
147
105
  }
148
-
149
106
  allow_publish(user, pkg, cb) {
150
107
  if (pkg.publish && pkg.publish.includes('$all') || pkg.publish && pkg.publish.includes('$anonymous')) {
151
108
  this._logger.debug({
152
109
  user: user.name
153
110
  }, '[VerdaccioMemory] user: @{user} has been granted to publish');
154
-
155
111
  return cb(null, true);
156
112
  }
157
-
158
113
  if (!user.name) {
159
114
  const err = (0, _commonsApi.getForbidden)('not allowed to publish package');
160
-
161
115
  this._logger.debug({
162
116
  user: user.name
163
117
  }, 'user: @{user} not allowed to publish package');
164
-
165
118
  return cb(err);
166
119
  }
167
-
168
120
  if (pkg.publish && pkg.publish.includes(user.name) || pkg.publish && pkg.publish.includes('$authenticated')) {
169
121
  return cb(null, true);
170
122
  }
171
-
172
123
  const err = (0, _commonsApi.getForbidden)('not allowed to publish package');
173
-
174
124
  this._logger.debug({
175
125
  user: user.name
176
126
  }, '[VerdaccioMemory] user: @{user} not allowed to publish package');
177
-
178
127
  return cb(err);
179
128
  }
180
-
181
129
  }
182
-
183
130
  exports.default = Memory;
184
131
  //# sourceMappingURL=Memory.js.map
package/lib/Memory.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Memory.ts"],"names":["Memory","constructor","config","appOptions","_users","users","_config","_logger","logger","_app_config","authenticate","user","password","done","userCredentials","debug","err","info","adduser","max_users","Object","keys","length","name","changePassword","username","newPassword","cb","allow_access","pkg","access","includes","allow_publish","publish"],"mappings":"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","sourcesContent":["import { Config, PluginOptions, Callback, PackageAccess, IPluginAuth, RemoteUser, Logger } from '@verdaccio/types';\nimport { getConflict, getForbidden, getNotFound, getUnauthorized } from '@verdaccio/commons-api';\n\nexport interface UserMemory {\n name: string;\n password: string;\n}\n\nexport interface Users {\n [key: string]: UserMemory;\n}\n\nexport interface VerdaccioMemoryConfig extends Config {\n max_users?: number;\n users: Users;\n}\n\n\nexport default class Memory implements IPluginAuth<VerdaccioMemoryConfig> {\n public _logger: Logger;\n public _users: Users;\n public _config: {};\n public _app_config: VerdaccioMemoryConfig;\n\n public constructor(config: VerdaccioMemoryConfig, appOptions: PluginOptions<VerdaccioMemoryConfig>) {\n this._users = config.users || {};\n this._config = config;\n this._logger = appOptions.logger;\n this._app_config = appOptions.config;\n }\n\n public authenticate(user: string, password: string, done: Callback): void {\n const userCredentials = this._users[user];\n\n if (!userCredentials) {\n this._logger.debug({ user }, '[VerdaccioMemory] user @{user} does not exist');\n return done(null, false);\n }\n\n if (password !== userCredentials.password) {\n const err = getUnauthorized(\"i don't like your password\");\n this._logger.info({ user }, '[VerdaccioMemory] password invalid for: @{user}');\n\n return done(err);\n }\n\n // authentication succeeded!\n // return all usergroups this user has access to;\n this._logger.info({ user }, '[VerdaccioMemory] authentication succeeded for @{user}');\n return done(null, [user]);\n }\n\n public adduser(user: string, password: string, done: Callback): void {\n if (this._users[user]) {\n this._logger.debug({ user }, '[VerdaccioMemory] user @{user} already exist');\n return done(null, true);\n }\n\n if (this._app_config.max_users) {\n if (Object.keys(this._users).length >= this._app_config.max_users) {\n const err = getConflict('maximum amount of users reached');\n\n return done(err);\n }\n }\n\n this._users[user] = { name: user, password: password };\n\n this._logger.info({ user }, '[VerdaccioMemory] user added succeeded for @{user}');\n done(null, user);\n }\n\n public changePassword(username: string, password: string, newPassword: string, cb: Callback): void {\n const user: UserMemory = this._users[username];\n this._logger.debug({ user: username }, 'user: @{user} init change password');\n\n if (user && user.password === password) {\n user.password = newPassword;\n this._users[username] = user;\n\n this._logger.info({ user }, '[VerdaccioMemory] user changed password succeeded for @{user}');\n cb(null, user);\n } else {\n const err = getNotFound('user not found');\n this._logger.debug({ user: username }, 'change password user @{user} not found');\n\n return cb(err);\n }\n }\n\n public allow_access(user: RemoteUser, pkg: PackageAccess, cb: Callback): void {\n if ((pkg.access && pkg.access.includes('$all')) || (pkg.access && pkg.access.includes('$anonymous'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted access');\n\n return cb(null, true);\n }\n\n if (!user.name) {\n const err = getForbidden('not allowed to access package');\n this._logger.debug({ user: user.name }, 'user: @{user} not allowed to access package');\n return cb(err);\n }\n\n if ((pkg.access && pkg.access.includes(user.name)) || (pkg.access && pkg.access.includes('$authenticated'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted access');\n return cb(null, true);\n }\n\n const err = getForbidden('not allowed to access package');\n\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} not allowed to access package');\n return cb(err);\n }\n\n public allow_publish(user: RemoteUser, pkg: PackageAccess, cb: Callback): void {\n if ((pkg.publish && pkg.publish.includes('$all')) || (pkg.publish && pkg.publish.includes('$anonymous'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted to publish');\n return cb(null, true);\n }\n\n if (!user.name) {\n const err = getForbidden('not allowed to publish package');\n this._logger.debug({ user: user.name }, 'user: @{user} not allowed to publish package');\n\n return cb(err);\n }\n\n if ((pkg.publish && pkg.publish.includes(user.name)) || (pkg.publish && pkg.publish.includes('$authenticated'))) {\n return cb(null, true);\n }\n\n const err = getForbidden('not allowed to publish package');\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} not allowed to publish package');\n\n return cb(err);\n }\n}\n"],"file":"Memory.js"}
1
+ {"version":3,"file":"Memory.js","names":["_commonsApi","require","Memory","constructor","config","appOptions","_users","users","_config","_logger","logger","_app_config","authenticate","user","password","done","userCredentials","debug","err","getUnauthorized","info","adduser","max_users","Object","keys","length","getConflict","name","changePassword","username","newPassword","cb","getNotFound","allow_access","pkg","access","includes","getForbidden","allow_publish","publish","exports","default"],"sources":["../src/Memory.ts"],"sourcesContent":["import { Config, PluginOptions, Callback, PackageAccess, IPluginAuth, RemoteUser, Logger } from '@verdaccio/legacy-types';\nimport { getConflict, getForbidden, getNotFound, getUnauthorized } from '@verdaccio/commons-api';\n\nexport interface UserMemory {\n name: string;\n password: string;\n}\n\nexport interface Users {\n [key: string]: UserMemory;\n}\n\nexport interface VerdaccioMemoryConfig extends Config {\n max_users?: number;\n users: Users;\n}\n\n\nexport default class Memory implements IPluginAuth<VerdaccioMemoryConfig> {\n public _logger: Logger;\n public _users: Users;\n public _config: {};\n public _app_config: VerdaccioMemoryConfig;\n\n public constructor(config: VerdaccioMemoryConfig, appOptions: PluginOptions<VerdaccioMemoryConfig>) {\n this._users = config.users || {};\n this._config = config;\n this._logger = appOptions.logger;\n this._app_config = appOptions.config;\n }\n\n public authenticate(user: string, password: string, done: Callback): void {\n const userCredentials = this._users[user];\n\n if (!userCredentials) {\n this._logger.debug({ user }, '[VerdaccioMemory] user @{user} does not exist');\n return done(null, false);\n }\n\n if (password !== userCredentials.password) {\n const err = getUnauthorized(\"i don't like your password\");\n this._logger.info({ user }, '[VerdaccioMemory] password invalid for: @{user}');\n\n return done(err);\n }\n\n // authentication succeeded!\n // return all usergroups this user has access to;\n this._logger.info({ user }, '[VerdaccioMemory] authentication succeeded for @{user}');\n return done(null, [user]);\n }\n\n public adduser(user: string, password: string, done: Callback): void {\n if (this._users[user]) {\n this._logger.debug({ user }, '[VerdaccioMemory] user @{user} already exist');\n return done(null, true);\n }\n\n if (this._app_config.max_users) {\n if (Object.keys(this._users).length >= this._app_config.max_users) {\n const err = getConflict('maximum amount of users reached');\n\n return done(err);\n }\n }\n\n this._users[user] = { name: user, password: password };\n\n this._logger.info({ user }, '[VerdaccioMemory] user added succeeded for @{user}');\n done(null, user);\n }\n\n public changePassword(username: string, password: string, newPassword: string, cb: Callback): void {\n const user: UserMemory = this._users[username];\n this._logger.debug({ user: username }, 'user: @{user} init change password');\n\n if (user && user.password === password) {\n user.password = newPassword;\n this._users[username] = user;\n\n this._logger.info({ user }, '[VerdaccioMemory] user changed password succeeded for @{user}');\n cb(null, user);\n } else {\n const err = getNotFound('user not found');\n this._logger.debug({ user: username }, 'change password user @{user} not found');\n\n return cb(err);\n }\n }\n\n public allow_access(user: RemoteUser, pkg: PackageAccess, cb: Callback): void {\n if ((pkg.access && pkg.access.includes('$all')) || (pkg.access && pkg.access.includes('$anonymous'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted access');\n\n return cb(null, true);\n }\n\n if (!user.name) {\n const err = getForbidden('not allowed to access package');\n this._logger.debug({ user: user.name }, 'user: @{user} not allowed to access package');\n return cb(err);\n }\n\n if ((pkg.access && pkg.access.includes(user.name)) || (pkg.access && pkg.access.includes('$authenticated'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted access');\n return cb(null, true);\n }\n\n const err = getForbidden('not allowed to access package');\n\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} not allowed to access package');\n return cb(err);\n }\n\n public allow_publish(user: RemoteUser, pkg: PackageAccess, cb: Callback): void {\n if ((pkg.publish && pkg.publish.includes('$all')) || (pkg.publish && pkg.publish.includes('$anonymous'))) {\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} has been granted to publish');\n return cb(null, true);\n }\n\n if (!user.name) {\n const err = getForbidden('not allowed to publish package');\n this._logger.debug({ user: user.name }, 'user: @{user} not allowed to publish package');\n\n return cb(err);\n }\n\n if ((pkg.publish && pkg.publish.includes(user.name)) || (pkg.publish && pkg.publish.includes('$authenticated'))) {\n return cb(null, true);\n }\n\n const err = getForbidden('not allowed to publish package');\n this._logger.debug({ user: user.name }, '[VerdaccioMemory] user: @{user} not allowed to publish package');\n\n return cb(err);\n }\n}\n"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -10,11 +10,8 @@ Object.defineProperty(exports, "Memory", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  var _Memory = _interopRequireDefault(require("./Memory"));
15
-
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
15
  var _default = _Memory.default;
19
16
  exports.default = _default;
20
17
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["Memory"],"mappings":";;;;;;;;;;;;;AAAA;;;;eAIeA,e","sourcesContent":["import Memory from './Memory';\n\nexport { Memory };\n\nexport default Memory;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_Memory","_interopRequireDefault","require","obj","__esModule","default","_default","Memory","exports"],"sources":["../src/index.ts"],"sourcesContent":["import Memory from './Memory';\n\nexport { Memory };\n\nexport default Memory;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAIfC,eAAM;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verdaccio-auth-memory",
3
- "version": "10.1.0",
3
+ "version": "10.2.1",
4
4
  "description": "Auth plugin for Verdaccio that keeps users in memory",
5
5
  "keywords": [
6
6
  "verdaccio",
@@ -28,10 +28,10 @@
28
28
  "node": ">=8"
29
29
  },
30
30
  "dependencies": {
31
- "@verdaccio/commons-api": "10.1.0"
31
+ "@verdaccio/commons-api": "10.2.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@verdaccio/types": "10.1.0"
34
+ "@verdaccio/legacy-types": "1.0.1"
35
35
  },
36
36
  "funding": {
37
37
  "type": "opencollective",