@steedos/accounts 2.1.78 → 2.1.84
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/core/index.js +47 -35
- package/lib/core/index.js.map +1 -1
- package/lib/database-mongo/mongo.js +97 -98
- package/lib/database-mongo/mongo.js.map +1 -1
- package/lib/db.js +1 -1
- package/lib/db.js.map +1 -1
- package/lib/index.js +16 -16
- package/lib/index.js.map +1 -1
- package/lib/mail.js +5 -4
- package/lib/mail.js.map +1 -1
- package/lib/oauth2/consent.js +3 -3
- package/lib/oauth2/consent.js.map +1 -1
- package/lib/oauth2/login.js +2 -2
- package/lib/oauth2/login.js.map +1 -1
- package/lib/oauth2/stub/oidc-cert.js +5 -3
- package/lib/oauth2/stub/oidc-cert.js.map +1 -1
- package/lib/password/accounts-password.js +77 -77
- package/lib/password/accounts-password.js.map +1 -1
- package/lib/password/index.js +1 -1
- package/lib/password/index.js.map +1 -1
- package/lib/password/utils/encryption.js +8 -5
- package/lib/password/utils/encryption.js.map +1 -1
- package/lib/password/utils/index.js +1 -0
- package/lib/password/utils/index.js.map +1 -1
- package/lib/password/utils/is-email.js +2 -1
- package/lib/password/utils/is-email.js.map +1 -1
- package/lib/password/utils/user.js +6 -4
- package/lib/password/utils/user.js.map +1 -1
- package/lib/rest-express/endpoints/authorize.js +14 -13
- package/lib/rest-express/endpoints/authorize.js.map +1 -1
- package/lib/rest-express/endpoints/get-user.js +4 -3
- package/lib/rest-express/endpoints/get-user.js.map +1 -1
- package/lib/rest-express/endpoints/impersonate.js +5 -4
- package/lib/rest-express/endpoints/impersonate.js.map +1 -1
- package/lib/rest-express/endpoints/initServer.js +3 -3
- package/lib/rest-express/endpoints/initServer.js.map +1 -1
- package/lib/rest-express/endpoints/login.js +6 -5
- package/lib/rest-express/endpoints/login.js.map +1 -1
- package/lib/rest-express/endpoints/logout.js +7 -6
- package/lib/rest-express/endpoints/logout.js.map +1 -1
- package/lib/rest-express/endpoints/oauth/provider-callback.js +6 -5
- package/lib/rest-express/endpoints/oauth/provider-callback.js.map +1 -1
- package/lib/rest-express/endpoints/password/change-password.js +7 -6
- package/lib/rest-express/endpoints/password/change-password.js.map +1 -1
- package/lib/rest-express/endpoints/password/register.js +7 -6
- package/lib/rest-express/endpoints/password/register.js.map +1 -1
- package/lib/rest-express/endpoints/password/reset.js +10 -8
- package/lib/rest-express/endpoints/password/reset.js.map +1 -1
- package/lib/rest-express/endpoints/password/two-factor.js +12 -9
- package/lib/rest-express/endpoints/password/two-factor.js.map +1 -1
- package/lib/rest-express/endpoints/password/verify-email.js +12 -9
- package/lib/rest-express/endpoints/password/verify-email.js.map +1 -1
- package/lib/rest-express/endpoints/password/verify.js +8 -6
- package/lib/rest-express/endpoints/password/verify.js.map +1 -1
- package/lib/rest-express/endpoints/put-user-name.js +4 -3
- package/lib/rest-express/endpoints/put-user-name.js.map +1 -1
- package/lib/rest-express/endpoints/refresh-access-token.js +5 -4
- package/lib/rest-express/endpoints/refresh-access-token.js.map +1 -1
- package/lib/rest-express/endpoints/service-authenticate.js +9 -8
- package/lib/rest-express/endpoints/service-authenticate.js.map +1 -1
- package/lib/rest-express/endpoints/spaces.js +3 -2
- package/lib/rest-express/endpoints/spaces.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/create-tenant.js +4 -3
- package/lib/rest-express/endpoints/steedos/create-tenant.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/get-tenant.js +6 -5
- package/lib/rest-express/endpoints/steedos/get-tenant.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/settings.js +8 -7
- package/lib/rest-express/endpoints/steedos/settings.js.map +1 -1
- package/lib/rest-express/endpoints/update-session.js +8 -7
- package/lib/rest-express/endpoints/update-session.js.map +1 -1
- package/lib/rest-express/express-middleware.js +24 -24
- package/lib/rest-express/express-middleware.js.map +1 -1
- package/lib/rest-express/index.js +1 -0
- package/lib/rest-express/index.js.map +1 -1
- package/lib/rest-express/user-loader.js +10 -9
- package/lib/rest-express/user-loader.js.map +1 -1
- package/lib/rest-express/utils/get-user-agent.js +2 -1
- package/lib/rest-express/utils/get-user-agent.js.map +1 -1
- package/lib/rest-express/utils/send-error.js +2 -1
- package/lib/rest-express/utils/send-error.js.map +1 -1
- package/lib/rest-express/utils/steedos-auth.js +12 -7
- package/lib/rest-express/utils/steedos-auth.js.map +1 -1
- package/lib/rest-express/utils/users.js +7 -5
- package/lib/rest-express/utils/users.js.map +1 -1
- package/lib/saml-idp/config.js +13 -0
- package/lib/saml-idp/config.js.map +1 -1
- package/lib/saml-idp/express-middleware.js +15 -18
- package/lib/saml-idp/express-middleware.js.map +1 -1
- package/lib/server/accounts-server.js +37 -37
- package/lib/server/accounts-server.js.map +1 -1
- package/lib/server/index.js +1 -1
- package/lib/server/utils/email.js +11 -10
- package/lib/server/utils/email.js.map +1 -1
- package/lib/server/utils/get-first-user-email.js +2 -2
- package/lib/server/utils/get-first-user-email.js.map +1 -1
- package/lib/server/utils/tokens.js +11 -6
- package/lib/server/utils/tokens.js.map +1 -1
- package/lib/types/index.js +14 -14
- package/lib/types/index.js.map +1 -1
- package/package.json +6 -7
package/lib/core/index.js
CHANGED
|
@@ -6,10 +6,10 @@ var objectql_1 = require("@steedos/objectql");
|
|
|
6
6
|
var db_1 = require("../db");
|
|
7
7
|
var _ = require("lodash");
|
|
8
8
|
var chalk_1 = require("chalk");
|
|
9
|
-
var config = objectql_1.getSteedosConfig();
|
|
10
|
-
|
|
9
|
+
var config = (0, objectql_1.getSteedosConfig)();
|
|
10
|
+
var getSettings = function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
11
11
|
var tenant, spaceDoc, steedosService;
|
|
12
|
-
return tslib_1.__generator(this, function (_a) {
|
|
12
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
13
13
|
switch (_a.label) {
|
|
14
14
|
case 0:
|
|
15
15
|
tenant = {
|
|
@@ -32,7 +32,7 @@ exports.getSettings = function () { return tslib_1.__awaiter(void 0, void 0, voi
|
|
|
32
32
|
return [4 /*yield*/, db_1.db.findOne("spaces", config.tenant._id, { fields: ["name", "avatar", "avatar_dark", "background", "enable_register"] })];
|
|
33
33
|
case 1:
|
|
34
34
|
spaceDoc = _a.sent();
|
|
35
|
-
steedosService = exports.getSteedosService();
|
|
35
|
+
steedosService = (0, exports.getSteedosService)();
|
|
36
36
|
if (steedosService && spaceDoc) {
|
|
37
37
|
_.assignIn(tenant, spaceDoc);
|
|
38
38
|
if (spaceDoc.avatar_dark) {
|
|
@@ -54,9 +54,10 @@ exports.getSettings = function () { return tslib_1.__awaiter(void 0, void 0, voi
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
}); };
|
|
57
|
-
exports.
|
|
57
|
+
exports.getSettings = getSettings;
|
|
58
|
+
var getTenant = function (spaceId) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
58
59
|
var spaceDoc, steedosService;
|
|
59
|
-
return tslib_1.__generator(this, function (_a) {
|
|
60
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
60
61
|
switch (_a.label) {
|
|
61
62
|
case 0:
|
|
62
63
|
if (!spaceId) {
|
|
@@ -68,7 +69,7 @@ exports.getTenant = function (spaceId) { return tslib_1.__awaiter(void 0, void 0
|
|
|
68
69
|
if (!spaceDoc) {
|
|
69
70
|
return [2 /*return*/, {}];
|
|
70
71
|
}
|
|
71
|
-
steedosService = exports.getSteedosService();
|
|
72
|
+
steedosService = (0, exports.getSteedosService)();
|
|
72
73
|
if (steedosService) {
|
|
73
74
|
if (spaceDoc.avatar_dark) {
|
|
74
75
|
spaceDoc.logo_url = steedosService + "api/files/avatars/" + spaceDoc.avatar_dark;
|
|
@@ -84,9 +85,10 @@ exports.getTenant = function (spaceId) { return tslib_1.__awaiter(void 0, void 0
|
|
|
84
85
|
}
|
|
85
86
|
});
|
|
86
87
|
}); };
|
|
87
|
-
exports.
|
|
88
|
+
exports.getTenant = getTenant;
|
|
89
|
+
var spaceExists = function (spaceId) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
88
90
|
var spaceDoc;
|
|
89
|
-
return tslib_1.__generator(this, function (_a) {
|
|
91
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
90
92
|
switch (_a.label) {
|
|
91
93
|
case 0: return [4 /*yield*/, db_1.db.findOne("spaces", spaceId, { fields: ["name", "avatar", "avatar_dark", "background", "enable_register"] })];
|
|
92
94
|
case 1:
|
|
@@ -98,25 +100,27 @@ exports.spaceExists = function (spaceId) { return tslib_1.__awaiter(void 0, void
|
|
|
98
100
|
}
|
|
99
101
|
});
|
|
100
102
|
}); };
|
|
101
|
-
exports.
|
|
103
|
+
exports.spaceExists = spaceExists;
|
|
104
|
+
var getMergedTenant = function (spaceId) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
102
105
|
var settings, tenant;
|
|
103
|
-
return tslib_1.__generator(this, function (_a) {
|
|
106
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
104
107
|
switch (_a.label) {
|
|
105
|
-
case 0: return [4 /*yield*/, exports.getSettings()];
|
|
108
|
+
case 0: return [4 /*yield*/, (0, exports.getSettings)()];
|
|
106
109
|
case 1:
|
|
107
110
|
settings = _a.sent();
|
|
108
|
-
return [4 /*yield*/, exports.getTenant(spaceId)];
|
|
111
|
+
return [4 /*yield*/, (0, exports.getTenant)(spaceId)];
|
|
109
112
|
case 2:
|
|
110
113
|
tenant = _a.sent();
|
|
111
114
|
return [2 /*return*/, Object.assign({}, settings.tenant, tenant)];
|
|
112
115
|
}
|
|
113
116
|
});
|
|
114
117
|
}); };
|
|
115
|
-
exports.
|
|
118
|
+
exports.getMergedTenant = getMergedTenant;
|
|
119
|
+
var canRegister = function (spaceId, action) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
116
120
|
var tenant;
|
|
117
|
-
return tslib_1.__generator(this, function (_a) {
|
|
121
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
118
122
|
switch (_a.label) {
|
|
119
|
-
case 0: return [4 /*yield*/, exports.getMergedTenant(spaceId)];
|
|
123
|
+
case 0: return [4 /*yield*/, (0, exports.getMergedTenant)(spaceId)];
|
|
120
124
|
case 1:
|
|
121
125
|
tenant = _a.sent();
|
|
122
126
|
if (action === 'emailSignupAccount' && !tenant.enable_email_code_login) {
|
|
@@ -132,17 +136,19 @@ exports.canRegister = function (spaceId, action) { return tslib_1.__awaiter(void
|
|
|
132
136
|
}
|
|
133
137
|
});
|
|
134
138
|
}); };
|
|
135
|
-
exports.
|
|
139
|
+
exports.canRegister = canRegister;
|
|
140
|
+
var canPasswordLogin = function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
136
141
|
var tenant;
|
|
137
|
-
return tslib_1.__generator(this, function (_a) {
|
|
142
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
138
143
|
switch (_a.label) {
|
|
139
|
-
case 0: return [4 /*yield*/, exports.getMergedTenant()];
|
|
144
|
+
case 0: return [4 /*yield*/, (0, exports.getMergedTenant)()];
|
|
140
145
|
case 1:
|
|
141
146
|
tenant = _a.sent();
|
|
142
147
|
return [2 /*return*/, tenant.enable_password_login];
|
|
143
148
|
}
|
|
144
149
|
});
|
|
145
150
|
}); };
|
|
151
|
+
exports.canPasswordLogin = canPasswordLogin;
|
|
146
152
|
function isEmpty(str) {
|
|
147
153
|
if (!str) {
|
|
148
154
|
return true;
|
|
@@ -155,8 +161,8 @@ function isEmpty(str) {
|
|
|
155
161
|
}
|
|
156
162
|
return false;
|
|
157
163
|
}
|
|
158
|
-
|
|
159
|
-
var config = objectql_1.getSteedosConfig().email || {};
|
|
164
|
+
var canSendEmail = function () {
|
|
165
|
+
var config = (0, objectql_1.getSteedosConfig)().email || {};
|
|
160
166
|
var canSend = true;
|
|
161
167
|
if (!config) {
|
|
162
168
|
canSend = false;
|
|
@@ -169,9 +175,10 @@ exports.canSendEmail = function () {
|
|
|
169
175
|
}
|
|
170
176
|
return canSend;
|
|
171
177
|
};
|
|
178
|
+
exports.canSendEmail = canSendEmail;
|
|
172
179
|
//TODO twilio
|
|
173
|
-
|
|
174
|
-
var config = (objectql_1.getSteedosConfig().sms || {}).qcloud || {};
|
|
180
|
+
var canSendSMS = function () {
|
|
181
|
+
var config = ((0, objectql_1.getSteedosConfig)().sms || {}).qcloud || {};
|
|
175
182
|
var canSend = true;
|
|
176
183
|
if (!config) {
|
|
177
184
|
canSend = false;
|
|
@@ -181,7 +188,8 @@ exports.canSendSMS = function () {
|
|
|
181
188
|
}
|
|
182
189
|
return canSend;
|
|
183
190
|
};
|
|
184
|
-
exports.
|
|
191
|
+
exports.canSendSMS = canSendSMS;
|
|
192
|
+
var getRootUrlPathPrefix = function (rootUrl) {
|
|
185
193
|
if (rootUrl) {
|
|
186
194
|
var parsedUrl = require('url').parse(rootUrl);
|
|
187
195
|
if (!parsedUrl.host || ['http:', 'https:'].indexOf(parsedUrl.protocol) === -1) {
|
|
@@ -197,8 +205,9 @@ exports.getRootUrlPathPrefix = function (rootUrl) {
|
|
|
197
205
|
return "";
|
|
198
206
|
}
|
|
199
207
|
};
|
|
200
|
-
exports.
|
|
201
|
-
|
|
208
|
+
exports.getRootUrlPathPrefix = getRootUrlPathPrefix;
|
|
209
|
+
var getSteedosService = function () {
|
|
210
|
+
var steedosService = (0, exports.getRootUrlPathPrefix)(process.env.ROOT_URL);
|
|
202
211
|
if (config.webservices && config.webservices.steedos) {
|
|
203
212
|
if (!config.webservices.steedos.endsWith("/"))
|
|
204
213
|
config.webservices.steedos += "/";
|
|
@@ -208,14 +217,15 @@ exports.getSteedosService = function () {
|
|
|
208
217
|
steedosService += "/";
|
|
209
218
|
return steedosService;
|
|
210
219
|
};
|
|
211
|
-
exports.
|
|
220
|
+
exports.getSteedosService = getSteedosService;
|
|
221
|
+
var sendMail = function (mail) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
212
222
|
var to, subject, html, config, canSend;
|
|
213
|
-
return tslib_1.__generator(this, function (_a) {
|
|
223
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
214
224
|
to = mail.to, subject = mail.subject, html = mail.html;
|
|
215
|
-
config = objectql_1.getSteedosConfig().email || {};
|
|
216
|
-
canSend = exports.canSendEmail();
|
|
225
|
+
config = (0, objectql_1.getSteedosConfig)().email || {};
|
|
226
|
+
canSend = (0, exports.canSendEmail)();
|
|
217
227
|
//如果没有配置发送邮件服务,则打印log
|
|
218
|
-
console.log(chalk_1.default.green("MAIL: "
|
|
228
|
+
console.log(chalk_1.default.green("MAIL: ".concat(to, ", ").concat(subject)));
|
|
219
229
|
if (!canSend) {
|
|
220
230
|
console.log(chalk_1.default.red("ERROR sending mail, please set email configs in steedos-config.yml"));
|
|
221
231
|
return [2 /*return*/];
|
|
@@ -231,12 +241,13 @@ exports.sendMail = function (mail) { return tslib_1.__awaiter(void 0, void 0, vo
|
|
|
231
241
|
return [2 /*return*/];
|
|
232
242
|
});
|
|
233
243
|
}); };
|
|
234
|
-
exports.
|
|
244
|
+
exports.sendMail = sendMail;
|
|
245
|
+
var sendSMS = function (sms) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
235
246
|
var mobile, message, spaceId, canSend;
|
|
236
|
-
return tslib_1.__generator(this, function (_a) {
|
|
247
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
237
248
|
mobile = sms.mobile, message = sms.message, spaceId = sms.spaceId;
|
|
238
|
-
canSend = exports.canSendSMS();
|
|
239
|
-
console.log(chalk_1.default.green("SMS: "
|
|
249
|
+
canSend = (0, exports.canSendSMS)();
|
|
250
|
+
console.log(chalk_1.default.green("SMS: ".concat(mobile, ", ").concat(message)));
|
|
240
251
|
if (!canSend) {
|
|
241
252
|
console.log(chalk_1.default.red("ERROR sending sms, Please set sms configs in steedos-config.yml"));
|
|
242
253
|
return [2 /*return*/];
|
|
@@ -250,4 +261,5 @@ exports.sendSMS = function (sms) { return tslib_1.__awaiter(void 0, void 0, void
|
|
|
250
261
|
return [2 /*return*/];
|
|
251
262
|
});
|
|
252
263
|
}); };
|
|
264
|
+
exports.sendSMS = sendSMS;
|
|
253
265
|
//# sourceMappingURL=index.js.map
|
package/lib/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;AAAA,8CAAoD;AACpD,4BAA2B;AAC3B,0BAA4B;AAC5B,+BAA0B;AAK1B,IAAM,MAAM,GAAG,2BAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|