@steedos/accounts 2.5.12-beta.8 → 2.5.12

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