@steedos/accounts 2.2.78 → 2.2.80

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/index.js CHANGED
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.init = exports.getAccountsRouter = exports.accountsServer = exports.getMergedTenant = exports.clearAuthCookies = exports.setAuthCookies = void 0;
3
+ exports.init = exports.getAccountsRouter = exports.createAccountsServer = exports.getAccountsServer = exports.getMergedTenant = exports.clearAuthCookies = exports.setAuthCookies = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var mongoose = require("mongoose");
6
5
  var mongodb = require("mongodb");
7
6
  var server_1 = require("./server");
8
7
  var password_1 = require("./password");
9
8
  var errors_1 = require("./password/errors");
10
9
  var rest_express_1 = require("./rest-express");
11
10
  var database_mongo_1 = require("./database-mongo");
12
- var db_1 = require("./db");
13
11
  var objectql_1 = require("@steedos/objectql");
14
12
  var url_1 = require("url");
15
13
  var core_1 = require("./core");
@@ -20,137 +18,143 @@ Object.defineProperty(exports, "clearAuthCookies", { enumerable: true, get: func
20
18
  var core_2 = require("./core");
21
19
  Object.defineProperty(exports, "getMergedTenant", { enumerable: true, get: function () { return core_2.getMergedTenant; } });
22
20
  var config = (0, objectql_1.getSteedosConfig)();
21
+ var accountsServer;
23
22
  function getAccountsServer() {
24
- var accountsConfig = config.tenant || {};
25
- var emailConfig = config.email || {};
26
- var tokenSecret = accountsConfig.tokenSecret || (0, server_1.generateRandomToken)();
27
- var accessTokenExpiresIn = accountsConfig.accessTokenExpiresIn || "90d";
28
- var refreshTokenExpiresIn = accountsConfig.refreshTokenExpiresIn || "7d";
29
- var mailSignname = emailConfig.signname || "华炎魔方";
30
- if (process.env.STEEDOS_CSFLE_MASTER_KEY) {
31
- var _a = (0, objectql_1.getMongoFieldEncryptionConsts)(), keyVaultNamespace = _a.keyVaultNamespace, getKMSProviders = _a.getKMSProviders;
32
- var kmsProvider = getKMSProviders();
33
- mongoose.connect(db_1.mongoUrl, {
34
- useNewUrlParser: true,
35
- useUnifiedTopology: true,
36
- monitorCommands: true,
37
- autoEncryption: {
38
- keyVaultNamespace: keyVaultNamespace,
39
- kmsProviders: kmsProvider,
40
- bypassAutoEncryption: true,
23
+ return accountsServer;
24
+ }
25
+ exports.getAccountsServer = getAccountsServer;
26
+ function createAccountsServer() {
27
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
28
+ var accountsConfig, emailConfig, tokenSecret, accessTokenExpiresIn, refreshTokenExpiresIn, mailSignname, driver, client, connection, rootUrl, rootUrlInstance, siteUrl, emailFrom, accountsServer;
29
+ return tslib_1.__generator(this, function (_a) {
30
+ switch (_a.label) {
31
+ case 0:
32
+ accountsConfig = config.tenant || {};
33
+ emailConfig = config.email || {};
34
+ tokenSecret = accountsConfig.tokenSecret || (0, server_1.generateRandomToken)();
35
+ accessTokenExpiresIn = accountsConfig.accessTokenExpiresIn || "90d";
36
+ refreshTokenExpiresIn = accountsConfig.refreshTokenExpiresIn || "7d";
37
+ mailSignname = emailConfig.signname || "华炎魔方";
38
+ driver = (0, objectql_1.getDataSource)('default').adapter;
39
+ return [4, driver.connect()];
40
+ case 1:
41
+ _a.sent();
42
+ client = driver.getClient();
43
+ connection = client.db();
44
+ rootUrl = process.env.ROOT_URL
45
+ ? process.env.ROOT_URL
46
+ : "http://127.0.0.1:4000";
47
+ rootUrlInstance = new url_1.URL(rootUrl);
48
+ siteUrl = rootUrlInstance.origin;
49
+ emailFrom = "";
50
+ if (config.email && config.email.from) {
51
+ emailFrom = config.email.from;
52
+ }
53
+ accountsServer = new server_1.AccountsServer({
54
+ ambiguousErrorMessages: true,
55
+ db: new database_mongo_1.default(connection, {
56
+ convertUserIdToMongoObjectId: false,
57
+ convertSessionIdToMongoObjectId: false,
58
+ idProvider: function () { return new mongodb.ObjectId().toString(); },
59
+ timestamps: {
60
+ createdAt: "created",
61
+ updatedAt: "modified",
62
+ },
63
+ dateProvider: function (date) {
64
+ return date ? date : new Date();
65
+ },
66
+ }),
67
+ sendMail: core_1.sendMail,
68
+ sendSMS: core_1.sendSMS,
69
+ siteUrl: siteUrl,
70
+ tokenSecret: tokenSecret,
71
+ tokenConfigs: {
72
+ accessToken: {
73
+ expiresIn: accessTokenExpiresIn,
74
+ },
75
+ refreshToken: {
76
+ expiresIn: refreshTokenExpiresIn,
77
+ },
78
+ },
79
+ emailTemplates: {
80
+ from: emailFrom,
81
+ verificationCode: {
82
+ subject: function (user, token) { return "\u3010".concat(mailSignname, "\u3011\u9A8C\u8BC1\u7801\uFF1A").concat(token); },
83
+ text: function (user, url, token) {
84
+ return "\u60A8\u7684\u9A8C\u8BC1\u7801\u662F: ".concat(token, "\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u9732\u7ED9\u4ED6\u4EBA\u3002");
85
+ },
86
+ html: function (user, url, token) {
87
+ return "\u60A8\u7684\u9A8C\u8BC1\u7801\u662F: ".concat(token, "\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u9732\u7ED9\u4ED6\u4EBA\u3002");
88
+ },
89
+ },
90
+ verifyEmail: {
91
+ subject: function (user, params) { return "验证您的帐户电子邮件"; },
92
+ text: function (user, url) {
93
+ return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u9A8C\u8BC1\u60A8\u7684\u5E10\u6237\u7535\u5B50\u90AE\u4EF6: ".concat(url);
94
+ },
95
+ html: function (user, url) {
96
+ return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u9A8C\u8BC1\u60A8\u7684\u5E10\u6237\u7535\u5B50\u90AE\u4EF6\u3002");
97
+ },
98
+ },
99
+ resetPassword: {
100
+ subject: function () { return "重置您的账户密码"; },
101
+ text: function (user, url) {
102
+ return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u91CD\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801: ".concat(url);
103
+ },
104
+ html: function (user, url) {
105
+ return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u91CD\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801\u3002");
106
+ },
107
+ },
108
+ enrollAccount: {
109
+ subject: function () { return "设置您的账户密码"; },
110
+ text: function (user, url) {
111
+ return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u8BBE\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801: ".concat(url);
112
+ },
113
+ html: function (user, url) {
114
+ return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u8BBE\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801\u3002");
115
+ },
116
+ },
117
+ passwordChanged: {
118
+ subject: function () { return "您的账户密码已被更改"; },
119
+ text: function () { return "\u60A8\u7684\u5E10\u6237\u5BC6\u7801\u5DF2\u66F4\u6539\u6210\u529F\u3002"; },
120
+ html: function () { return "\u60A8\u7684\u5E10\u6237\u5BC6\u7801\u5DF2\u66F4\u6539\u6210\u529F\u3002"; },
121
+ },
122
+ },
123
+ }, {
124
+ password: new password_1.AccountsPassword({
125
+ errors: errors_1.errors,
126
+ passwordHashAlgorithm: "sha256",
127
+ notifyUserAfterPasswordChanged: config.password
128
+ ? config.password.notifyUserAfterPasswordChanged
129
+ : true,
130
+ sendVerificationEmailAfterSignup: config.password
131
+ ? config.password.sendVerificationEmailAfterSignup
132
+ : false,
133
+ }),
134
+ });
135
+ return [2, accountsServer];
41
136
  }
42
137
  });
43
- }
44
- else {
45
- mongoose.connect(db_1.mongoUrl, { useNewUrlParser: true, useUnifiedTopology: true });
46
- }
47
- var connection = mongoose.connection;
48
- var rootUrl = process.env.ROOT_URL
49
- ? process.env.ROOT_URL
50
- : "http://127.0.0.1:4000";
51
- var rootUrlInstance = new url_1.URL(rootUrl);
52
- var siteUrl = rootUrlInstance.origin;
53
- var emailFrom = "";
54
- if (config.email && config.email.from) {
55
- emailFrom = config.email.from;
56
- }
57
- var accountsServer = new server_1.AccountsServer({
58
- ambiguousErrorMessages: true,
59
- db: new database_mongo_1.default(connection, {
60
- convertUserIdToMongoObjectId: false,
61
- convertSessionIdToMongoObjectId: false,
62
- idProvider: function () { return new mongodb.ObjectId().toString(); },
63
- timestamps: {
64
- createdAt: "created",
65
- updatedAt: "modified",
66
- },
67
- dateProvider: function (date) {
68
- return date ? date : new Date();
69
- },
70
- }),
71
- sendMail: core_1.sendMail,
72
- sendSMS: core_1.sendSMS,
73
- siteUrl: siteUrl,
74
- tokenSecret: tokenSecret,
75
- tokenConfigs: {
76
- accessToken: {
77
- expiresIn: accessTokenExpiresIn,
78
- },
79
- refreshToken: {
80
- expiresIn: refreshTokenExpiresIn,
81
- },
82
- },
83
- emailTemplates: {
84
- from: emailFrom,
85
- verificationCode: {
86
- subject: function (user, token) { return "\u3010".concat(mailSignname, "\u3011\u9A8C\u8BC1\u7801\uFF1A").concat(token); },
87
- text: function (user, url, token) {
88
- return "\u60A8\u7684\u9A8C\u8BC1\u7801\u662F: ".concat(token, "\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u9732\u7ED9\u4ED6\u4EBA\u3002");
89
- },
90
- html: function (user, url, token) {
91
- return "\u60A8\u7684\u9A8C\u8BC1\u7801\u662F: ".concat(token, "\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u9732\u7ED9\u4ED6\u4EBA\u3002");
92
- },
93
- },
94
- verifyEmail: {
95
- subject: function (user, params) { return "验证您的帐户电子邮件"; },
96
- text: function (user, url) {
97
- return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u9A8C\u8BC1\u60A8\u7684\u5E10\u6237\u7535\u5B50\u90AE\u4EF6: ".concat(url);
98
- },
99
- html: function (user, url) {
100
- return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u9A8C\u8BC1\u60A8\u7684\u5E10\u6237\u7535\u5B50\u90AE\u4EF6\u3002");
101
- },
102
- },
103
- resetPassword: {
104
- subject: function () { return "重置您的账户密码"; },
105
- text: function (user, url) {
106
- return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u91CD\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801: ".concat(url);
107
- },
108
- html: function (user, url) {
109
- return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u91CD\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801\u3002");
110
- },
111
- },
112
- enrollAccount: {
113
- subject: function () { return "设置您的账户密码"; },
114
- text: function (user, url) {
115
- return "\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\u6765\u8BBE\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801: ".concat(url);
116
- },
117
- html: function (user, url) {
118
- return "\u8BF7\u70B9\u51FB<a href=\"".concat(url, "\">\u6B64\u94FE\u63A5</a>\u6765\u8BBE\u7F6E\u60A8\u7684\u8D26\u6237\u5BC6\u7801\u3002");
119
- },
120
- },
121
- passwordChanged: {
122
- subject: function () { return "您的账户密码已被更改"; },
123
- text: function () { return "\u60A8\u7684\u5E10\u6237\u5BC6\u7801\u5DF2\u66F4\u6539\u6210\u529F\u3002"; },
124
- html: function () { return "\u60A8\u7684\u5E10\u6237\u5BC6\u7801\u5DF2\u66F4\u6539\u6210\u529F\u3002"; },
125
- },
126
- },
127
- }, {
128
- password: new password_1.AccountsPassword({
129
- errors: errors_1.errors,
130
- passwordHashAlgorithm: "sha256",
131
- notifyUserAfterPasswordChanged: config.password
132
- ? config.password.notifyUserAfterPasswordChanged
133
- : true,
134
- sendVerificationEmailAfterSignup: config.password
135
- ? config.password.sendVerificationEmailAfterSignup
136
- : false,
137
- }),
138
138
  });
139
- return accountsServer;
140
139
  }
141
- exports.accountsServer = getAccountsServer();
140
+ exports.createAccountsServer = createAccountsServer;
142
141
  function getAccountsRouter(context) {
143
142
  return tslib_1.__awaiter(this, void 0, void 0, function () {
144
143
  var router;
145
144
  return tslib_1.__generator(this, function (_a) {
146
- router = (0, rest_express_1.default)(exports.accountsServer, {
147
- path: '/',
148
- });
149
- router.get('/', function (req, res) {
150
- res.redirect("a/");
151
- res.end();
152
- });
153
- return [2, router];
145
+ switch (_a.label) {
146
+ case 0: return [4, createAccountsServer()];
147
+ case 1:
148
+ accountsServer = _a.sent();
149
+ router = (0, rest_express_1.default)(accountsServer, {
150
+ path: '/',
151
+ });
152
+ router.get('/', function (req, res) {
153
+ res.redirect("a/");
154
+ res.end();
155
+ });
156
+ return [2, router];
157
+ }
154
158
  });
155
159
  });
156
160
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@steedos/accounts",
3
3
  "private": false,
4
- "version": "2.2.78",
4
+ "version": "2.2.80",
5
5
  "main": "lib/index.js",
6
6
  "files": [
7
7
  "/package.json",
@@ -46,7 +46,6 @@
46
46
  "lodash": "^4.17.21",
47
47
  "mem": "^5.1.1",
48
48
  "mongodb": "^3.7.3",
49
- "mongoose": "^5.12.13",
50
49
  "nodemailer": "^6.3.0",
51
50
  "pug": "^3.0.2",
52
51
  "request-ip": "^2.2.0",
@@ -56,20 +55,20 @@
56
55
  "validator": "^13.6.0"
57
56
  },
58
57
  "devDependencies": {
59
- "@steedos/auth": "2.2.78",
60
- "@steedos/meteor-bundle-runner": "2.2.78",
61
- "@steedos/objectql": "2.2.78",
58
+ "@steedos/auth": "2.2.80",
59
+ "@steedos/meteor-bundle-runner": "2.2.80",
60
+ "@steedos/objectql": "2.2.80",
62
61
  "@types/dotenv-flow": "^3.0.0",
63
62
  "@types/node": "12.6.8",
64
63
  "cross-env": "^7.0.3",
65
64
  "dotenv": "^8.2.0",
66
65
  "dotenv-flow": "^3.1.0",
67
66
  "nodemon": "^2.0.19",
68
- "steedos-server": "2.2.78",
67
+ "steedos-server": "2.2.80",
69
68
  "typescript": "4.6.3"
70
69
  },
71
70
  "publishConfig": {
72
71
  "access": "public"
73
72
  },
74
- "gitHead": "5b2b159f0d0999dfbad0e9a855764ed4316ed9f5"
73
+ "gitHead": "f61d9e1786694ed5c9e302b49df9fa891a92501b"
75
74
  }
package/src/index.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as express from 'express';
2
2
  import * as path from 'path';
3
- import * as mongoose from 'mongoose';
4
3
  import * as mongodb from 'mongodb';
5
4
  import { AccountsServer, generateRandomToken } from './server';
6
5
  import { AccountsPassword } from './password';
@@ -10,7 +9,7 @@ import MongoDBInterface from './database-mongo';
10
9
  // import accountsSamlIdp from './saml-idp';
11
10
  import { userLoader } from './rest-express/user-loader';
12
11
  import { mongoUrl } from './db';
13
- import { getSteedosConfig, getSteedosSchema, getMongoFieldEncryptionConsts } from '@steedos/objectql'
12
+ import { getSteedosConfig, getDataSource } from '@steedos/objectql'
14
13
  import { URL } from 'url';
15
14
  import * as bodyParser from 'body-parser';
16
15
  import { sendMail, sendSMS } from './core';
@@ -22,32 +21,24 @@ export { getMergedTenant } from './core';
22
21
  declare var WebApp;
23
22
 
24
23
  const config = getSteedosConfig();
24
+ let accountsServer;
25
25
 
26
- function getAccountsServer() {
26
+ export function getAccountsServer() {
27
+ return accountsServer;
28
+ }
29
+
30
+ export async function createAccountsServer() {
27
31
  let accountsConfig = config.tenant || {};
28
32
  let emailConfig = config.email || {};
29
33
  let tokenSecret = accountsConfig.tokenSecret || generateRandomToken();
30
34
  let accessTokenExpiresIn = accountsConfig.accessTokenExpiresIn || "90d";
31
35
  let refreshTokenExpiresIn = accountsConfig.refreshTokenExpiresIn || "7d";
32
36
  let mailSignname = emailConfig.signname || "华炎魔方";
37
+ const driver = getDataSource('default').adapter as any;
38
+ await driver.connect();
39
+ const client = driver.getClient();
33
40
 
34
- if (process.env.STEEDOS_CSFLE_MASTER_KEY) {
35
- const { keyVaultNamespace, getKMSProviders } = getMongoFieldEncryptionConsts();
36
- const kmsProvider = getKMSProviders();
37
- mongoose.connect(mongoUrl, {
38
- useNewUrlParser: true,
39
- useUnifiedTopology: true,
40
- monitorCommands: true,
41
- autoEncryption: {
42
- keyVaultNamespace: keyVaultNamespace,
43
- kmsProviders: kmsProvider,
44
- bypassAutoEncryption: true,
45
- }
46
- } as any);
47
- } else {
48
- mongoose.connect(mongoUrl, { useNewUrlParser: true, useUnifiedTopology: true });
49
- }
50
- const connection = mongoose.connection;
41
+ const connection = client.db();
51
42
 
52
43
  const rootUrl = process.env.ROOT_URL
53
44
  ? process.env.ROOT_URL
@@ -139,10 +130,11 @@ function getAccountsServer() {
139
130
  return accountsServer;
140
131
  }
141
132
 
142
- export const accountsServer = getAccountsServer()
143
133
 
144
134
  export async function getAccountsRouter(context) {
145
135
 
136
+ accountsServer = await createAccountsServer();
137
+
146
138
  const router = accountsExpress(accountsServer, {
147
139
  path: '/',
148
140
  });