@steedos/accounts 3.0.13-beta.8 → 3.0.13
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 +177 -249
- package/lib/core/index.js.map +1 -1
- package/lib/database-mongo/index.js +1 -1
- package/lib/database-mongo/index.js.map +1 -1
- package/lib/database-mongo/mongo.js +760 -1278
- package/lib/database-mongo/mongo.js.map +1 -1
- package/lib/db.js +2 -2
- package/lib/db.js.map +1 -1
- package/lib/index.js +107 -143
- package/lib/index.js.map +1 -1
- package/lib/mail.js +36 -47
- package/lib/mail.js.map +1 -1
- package/lib/password/accounts-password.js +505 -763
- package/lib/password/accounts-password.js.map +1 -1
- package/lib/password/index.js +2 -2
- package/lib/password/index.js.map +1 -1
- package/lib/password/utils/encryption.js +10 -22
- package/lib/password/utils/encryption.js.map +1 -1
- package/lib/password/utils/is-email.js +2 -2
- package/lib/password/utils/is-email.js.map +1 -1
- package/lib/password/utils/user.js +3 -3
- package/lib/password/utils/user.js.map +1 -1
- package/lib/rest-express/endpoints/authorize.js +47 -54
- package/lib/rest-express/endpoints/authorize.js.map +1 -1
- package/lib/rest-express/endpoints/geetestV3/geetest-init.js +85 -131
- package/lib/rest-express/endpoints/geetestV3/geetest-init.js.map +1 -1
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_config.js +1 -1
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_config.js.map +1 -1
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_lib.js +112 -160
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_lib.js.map +1 -1
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_lib_result.js +8 -9
- package/lib/rest-express/endpoints/geetestV3/sdk/geetest_lib_result.js.map +1 -1
- package/lib/rest-express/endpoints/get-user.js +7 -12
- package/lib/rest-express/endpoints/get-user.js.map +1 -1
- package/lib/rest-express/endpoints/impersonate.js +14 -27
- package/lib/rest-express/endpoints/impersonate.js.map +1 -1
- package/lib/rest-express/endpoints/initServer.js +9 -13
- package/lib/rest-express/endpoints/initServer.js.map +1 -1
- package/lib/rest-express/endpoints/login.js +82 -104
- package/lib/rest-express/endpoints/login.js.map +1 -1
- package/lib/rest-express/endpoints/logout.js +68 -86
- package/lib/rest-express/endpoints/logout.js.map +1 -1
- package/lib/rest-express/endpoints/oauth/provider-callback.js +29 -37
- package/lib/rest-express/endpoints/oauth/provider-callback.js.map +1 -1
- package/lib/rest-express/endpoints/password/change-password.js +73 -102
- package/lib/rest-express/endpoints/password/change-password.js.map +1 -1
- package/lib/rest-express/endpoints/password/register.js +63 -95
- package/lib/rest-express/endpoints/password/register.js.map +1 -1
- package/lib/rest-express/endpoints/password/reset.js +27 -48
- package/lib/rest-express/endpoints/password/reset.js.map +1 -1
- package/lib/rest-express/endpoints/password/setSpaceUserPassword.js +112 -144
- package/lib/rest-express/endpoints/password/setSpaceUserPassword.js.map +1 -1
- package/lib/rest-express/endpoints/password/two-factor.js +39 -70
- package/lib/rest-express/endpoints/password/two-factor.js.map +1 -1
- package/lib/rest-express/endpoints/password/verify-email.js +34 -65
- package/lib/rest-express/endpoints/password/verify-email.js.map +1 -1
- package/lib/rest-express/endpoints/password/verify.js +45 -74
- package/lib/rest-express/endpoints/password/verify.js.map +1 -1
- package/lib/rest-express/endpoints/put-user-name.js +19 -32
- package/lib/rest-express/endpoints/put-user-name.js.map +1 -1
- package/lib/rest-express/endpoints/refresh-access-token.js +14 -27
- package/lib/rest-express/endpoints/refresh-access-token.js.map +1 -1
- package/lib/rest-express/endpoints/service-authenticate.js +55 -79
- package/lib/rest-express/endpoints/service-authenticate.js.map +1 -1
- package/lib/rest-express/endpoints/spaces.js +13 -30
- package/lib/rest-express/endpoints/spaces.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/accept_invitation.js +28 -42
- package/lib/rest-express/endpoints/steedos/accept_invitation.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/create-tenant.js +81 -102
- package/lib/rest-express/endpoints/steedos/create-tenant.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/decline_invitation.js +28 -42
- package/lib/rest-express/endpoints/steedos/decline_invitation.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/get-tenant.js +54 -67
- package/lib/rest-express/endpoints/steedos/get-tenant.js.map +1 -1
- package/lib/rest-express/endpoints/steedos/settings.js +110 -127
- package/lib/rest-express/endpoints/steedos/settings.js.map +1 -1
- package/lib/rest-express/endpoints/update-session.js +33 -48
- package/lib/rest-express/endpoints/update-session.js.map +1 -1
- package/lib/rest-express/express-middleware.js +57 -59
- package/lib/rest-express/express-middleware.js.map +1 -1
- package/lib/rest-express/index.js +1 -1
- package/lib/rest-express/index.js.map +1 -1
- package/lib/rest-express/user-loader.js +67 -86
- package/lib/rest-express/user-loader.js.map +1 -1
- package/lib/rest-express/utils/get-user-agent.js +2 -2
- package/lib/rest-express/utils/get-user-agent.js.map +1 -1
- package/lib/rest-express/utils/getClientIp.js +3 -3
- package/lib/rest-express/utils/getClientIp.js.map +1 -1
- package/lib/rest-express/utils/send-error.js +5 -7
- package/lib/rest-express/utils/send-error.js.map +1 -1
- package/lib/rest-express/utils/steedos-auth.js +21 -21
- package/lib/rest-express/utils/steedos-auth.js.map +1 -1
- package/lib/rest-express/utils/users.js +17 -30
- package/lib/rest-express/utils/users.js.map +1 -1
- package/lib/server/accounts-server.js +413 -574
- package/lib/server/accounts-server.js.map +1 -1
- package/lib/server/index.js +1 -1
- package/lib/server/index.js.map +1 -1
- package/lib/server/utils/email.js +19 -35
- package/lib/server/utils/email.js.map +1 -1
- package/lib/server/utils/get-first-user-email.js +3 -3
- package/lib/server/utils/get-first-user-email.js.map +1 -1
- package/lib/server/utils/tokens.js +14 -24
- package/lib/server/utils/tokens.js.map +1 -1
- package/lib/types/index.js +1 -1
- package/package.json +5 -5
- package/src/database-mongo/mongo.ts +6 -2
- package/src/password/accounts-password.ts +61 -0
- package/src/rest-express/endpoints/password/change-password.ts +1 -1
- package/src/rest-express/endpoints/password/setSpaceUserPassword.ts +5 -0
- package/src/rest-express/endpoints/service-authenticate.ts +2 -5
- package/src/types/types/user.ts +2 -0
|
@@ -1,111 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.login = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
status = "success";
|
|
22
|
-
message = "";
|
|
23
|
-
result = null;
|
|
24
|
-
_d.label = 1;
|
|
25
|
-
case 1:
|
|
26
|
-
_d.trys.push([1, 3, 4, 11]);
|
|
27
|
-
return [4, accountsServer.loginWithService("password", req.body, {
|
|
28
|
-
ip: ip,
|
|
29
|
-
userAgent: userAgent,
|
|
30
|
-
})];
|
|
31
|
-
case 2:
|
|
32
|
-
result = _d.sent();
|
|
33
|
-
if (result._next) {
|
|
34
|
-
return [2, res.json(result)];
|
|
35
|
-
}
|
|
36
|
-
(0, steedos_auth_1.setAuthCookies)(req, res, result.user._id, result.token, result.tokens.accessToken);
|
|
37
|
-
try {
|
|
38
|
-
if (result && result.user) {
|
|
39
|
-
delete result.user["services"];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (error) { }
|
|
43
|
-
res.json(result);
|
|
44
|
-
return [2];
|
|
45
|
-
case 3:
|
|
46
|
-
err_1 = _d.sent();
|
|
47
|
-
console.log(err_1);
|
|
48
|
-
status = "fail";
|
|
49
|
-
message = err_1.message;
|
|
50
|
-
(0, send_error_1.sendError)(res, { message: err_1.message });
|
|
51
|
-
return [3, 11];
|
|
52
|
-
case 4:
|
|
53
|
-
is_phone = false;
|
|
54
|
-
is_tablet = false;
|
|
55
|
-
if (userAgent) {
|
|
56
|
-
try {
|
|
57
|
-
_a = (0, ismobilejs_1.default)(userAgent), phone = _a.phone, tablet = _a.tablet;
|
|
58
|
-
is_phone = phone;
|
|
59
|
-
is_tablet = tablet;
|
|
60
|
-
}
|
|
61
|
-
catch (Exception) {
|
|
62
|
-
console.log("Exception", Exception);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return [4, (0, spaces_1.getFirstSpace)(accountsServer)];
|
|
66
|
-
case 5:
|
|
67
|
-
space = _d.sent();
|
|
68
|
-
remote_user = null;
|
|
69
|
-
if (!!result) return [3, 7];
|
|
70
|
-
return [4, accountsServer
|
|
71
|
-
.getServices()["password"].foundUser(req.body.user)];
|
|
72
|
-
case 6:
|
|
73
|
-
foundUser = _d.sent();
|
|
74
|
-
remote_user = foundUser ? foundUser._id : null;
|
|
75
|
-
return [3, 8];
|
|
76
|
-
case 7:
|
|
77
|
-
remote_user = (_c = result === null || result === void 0 ? void 0 : result.user) === null || _c === void 0 ? void 0 : _c._id;
|
|
78
|
-
_d.label = 8;
|
|
79
|
-
case 8:
|
|
80
|
-
if (!space) return [3, 10];
|
|
81
|
-
_b = req.body, password = _b.password, data = tslib_1.__rest(_b, ["password"]);
|
|
82
|
-
return [4, (0, objectql_1.getObject)("operation_logs").insert({
|
|
83
|
-
name: "登录",
|
|
84
|
-
type: "login",
|
|
85
|
-
remote_user: remote_user,
|
|
86
|
-
remote_addr: ip,
|
|
87
|
-
http_user_agent: userAgent,
|
|
88
|
-
is_mobile: is_phone,
|
|
89
|
-
is_tablet: is_tablet,
|
|
90
|
-
object: "users",
|
|
91
|
-
status: status,
|
|
92
|
-
create: new Date(),
|
|
93
|
-
space: space._id,
|
|
94
|
-
message: message,
|
|
95
|
-
data: JSON.stringify(data),
|
|
96
|
-
related_to: {
|
|
97
|
-
o: "users",
|
|
98
|
-
ids: [remote_user],
|
|
99
|
-
},
|
|
100
|
-
})];
|
|
101
|
-
case 9:
|
|
102
|
-
_d.sent();
|
|
103
|
-
_d.label = 10;
|
|
104
|
-
case 10: return [7];
|
|
105
|
-
case 11: return [2];
|
|
106
|
-
}
|
|
4
|
+
const getClientIp_1 = require("../utils/getClientIp");
|
|
5
|
+
const get_user_agent_1 = require("../utils/get-user-agent");
|
|
6
|
+
const send_error_1 = require("../utils/send-error");
|
|
7
|
+
const steedos_auth_1 = require("../utils/steedos-auth");
|
|
8
|
+
const ismobilejs_1 = require("ismobilejs");
|
|
9
|
+
const objectql_1 = require("@steedos/objectql");
|
|
10
|
+
const spaces_1 = require("./spaces");
|
|
11
|
+
const login = (accountsServer) => async (req, res) => {
|
|
12
|
+
let userAgent = (0, get_user_agent_1.getUserAgent)(req) || "";
|
|
13
|
+
const ip = (0, getClientIp_1.getClientIp)(req);
|
|
14
|
+
let status = "success";
|
|
15
|
+
let message = "";
|
|
16
|
+
let result = null;
|
|
17
|
+
try {
|
|
18
|
+
result = await accountsServer.loginWithService("password", req.body, {
|
|
19
|
+
ip,
|
|
20
|
+
userAgent,
|
|
107
21
|
});
|
|
108
|
-
|
|
22
|
+
if (result._next) {
|
|
23
|
+
return res.json(result);
|
|
24
|
+
}
|
|
25
|
+
(0, steedos_auth_1.setAuthCookies)(req, res, result.user._id, result.token, result.tokens.accessToken);
|
|
26
|
+
try {
|
|
27
|
+
if (result && result.user) {
|
|
28
|
+
delete result.user["services"];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) { }
|
|
32
|
+
res.json(result);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
console.log(err);
|
|
37
|
+
status = "fail";
|
|
38
|
+
message = err.message;
|
|
39
|
+
(0, send_error_1.sendError)(res, { message: err.message });
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
let is_phone = false;
|
|
43
|
+
let is_tablet = false;
|
|
44
|
+
if (userAgent) {
|
|
45
|
+
try {
|
|
46
|
+
const { phone, tablet } = (0, ismobilejs_1.default)(userAgent);
|
|
47
|
+
is_phone = phone;
|
|
48
|
+
is_tablet = tablet;
|
|
49
|
+
}
|
|
50
|
+
catch (Exception) {
|
|
51
|
+
console.log(`Exception`, Exception);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const space = await (0, spaces_1.getFirstSpace)(accountsServer);
|
|
55
|
+
let remote_user = null;
|
|
56
|
+
if (!result) {
|
|
57
|
+
let foundUser = await accountsServer
|
|
58
|
+
.getServices()["password"].foundUser(req.body.user);
|
|
59
|
+
remote_user = foundUser ? foundUser._id : null;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
remote_user = result?.user?._id;
|
|
63
|
+
}
|
|
64
|
+
if (space) {
|
|
65
|
+
const { password, ...data } = req.body;
|
|
66
|
+
await (0, objectql_1.getObject)("operation_logs").insert({
|
|
67
|
+
name: "登录",
|
|
68
|
+
type: "login",
|
|
69
|
+
remote_user: remote_user,
|
|
70
|
+
remote_addr: ip,
|
|
71
|
+
http_user_agent: userAgent,
|
|
72
|
+
is_mobile: is_phone,
|
|
73
|
+
is_tablet,
|
|
74
|
+
object: "users",
|
|
75
|
+
status: status,
|
|
76
|
+
create: new Date(),
|
|
77
|
+
space: space._id,
|
|
78
|
+
message: message,
|
|
79
|
+
data: JSON.stringify(data),
|
|
80
|
+
related_to: {
|
|
81
|
+
o: "users",
|
|
82
|
+
ids: [remote_user],
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
109
87
|
};
|
|
110
88
|
exports.login = login;
|
|
111
89
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/rest-express/endpoints/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/rest-express/endpoints/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,94 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.logout = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
userAgent = (0, get_user_agent_1.getUserAgent)(req) || "";
|
|
40
|
-
ip = (0, getClientIp_1.getClientIp)(req);
|
|
41
|
-
status = "success";
|
|
42
|
-
message = "";
|
|
43
|
-
is_phone = false;
|
|
44
|
-
is_tablet = false;
|
|
45
|
-
if (userAgent) {
|
|
46
|
-
try {
|
|
47
|
-
_a = (0, ismobilejs_1.default)(userAgent), phone = _a.phone, tablet = _a.tablet;
|
|
48
|
-
is_phone = phone;
|
|
49
|
-
is_tablet = tablet;
|
|
50
|
-
}
|
|
51
|
-
catch (Exception) {
|
|
52
|
-
console.log("Exception", Exception);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return [4, (0, objectql_1.getObject)("operation_logs").insert({
|
|
56
|
-
name: "注销",
|
|
57
|
-
type: "logout",
|
|
58
|
-
remote_user: session === null || session === void 0 ? void 0 : session.userId,
|
|
59
|
-
remote_addr: ip,
|
|
60
|
-
http_user_agent: userAgent,
|
|
61
|
-
is_mobile: is_phone,
|
|
62
|
-
is_tablet: is_tablet,
|
|
63
|
-
object: "users",
|
|
64
|
-
status: status,
|
|
65
|
-
create: new Date(),
|
|
66
|
-
space: session === null || session === void 0 ? void 0 : session.space,
|
|
67
|
-
message: message,
|
|
68
|
-
data: JSON.stringify({
|
|
69
|
-
authToken: authToken,
|
|
70
|
-
session: session,
|
|
71
|
-
}),
|
|
72
|
-
related_to: {
|
|
73
|
-
o: "users",
|
|
74
|
-
ids: [session === null || session === void 0 ? void 0 : session.userId],
|
|
75
|
-
},
|
|
76
|
-
})];
|
|
77
|
-
case 5:
|
|
78
|
-
_b.sent();
|
|
79
|
-
if (authToken) {
|
|
80
|
-
broker = (0, objectql_2.getSteedosSchema)().broker;
|
|
81
|
-
broker.broadcast("$user.logout", {
|
|
82
|
-
authToken: authToken,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
return [7];
|
|
86
|
-
case 6:
|
|
87
|
-
res.json(null);
|
|
88
|
-
return [2];
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const steedos_auth_1 = require("../utils/steedos-auth");
|
|
6
|
+
const objectql_1 = require("@steedos/objectql");
|
|
7
|
+
const getClientIp_1 = require("../utils/getClientIp");
|
|
8
|
+
const get_user_agent_1 = require("../utils/get-user-agent");
|
|
9
|
+
const ismobilejs_1 = require("ismobilejs");
|
|
10
|
+
const objectql_2 = require("@steedos/objectql");
|
|
11
|
+
const logout = (accountsServer) => async (req, res) => {
|
|
12
|
+
let authToken = (0, lodash_1.get)(req.cookies, "X-Auth-Token") ||
|
|
13
|
+
(0, lodash_1.get)(req.headers, "Authorization") ||
|
|
14
|
+
(0, lodash_1.get)(req.headers, "authorization");
|
|
15
|
+
authToken = authToken && authToken.replace("Bearer ", "token");
|
|
16
|
+
authToken =
|
|
17
|
+
authToken && authToken.split(",").length > 1
|
|
18
|
+
? authToken.split(",")[0]
|
|
19
|
+
: authToken;
|
|
20
|
+
(0, steedos_auth_1.clearAuthCookies)(req, res);
|
|
21
|
+
let session = null;
|
|
22
|
+
try {
|
|
23
|
+
session = await accountsServer.logout(authToken);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
let userAgent = (0, get_user_agent_1.getUserAgent)(req) || "";
|
|
29
|
+
const ip = (0, getClientIp_1.getClientIp)(req);
|
|
30
|
+
let status = "success";
|
|
31
|
+
let message = "";
|
|
32
|
+
let is_phone = false;
|
|
33
|
+
let is_tablet = false;
|
|
34
|
+
if (userAgent) {
|
|
35
|
+
try {
|
|
36
|
+
const { phone, tablet } = (0, ismobilejs_1.default)(userAgent);
|
|
37
|
+
is_phone = phone;
|
|
38
|
+
is_tablet = tablet;
|
|
89
39
|
}
|
|
40
|
+
catch (Exception) {
|
|
41
|
+
console.log(`Exception`, Exception);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
await (0, objectql_1.getObject)("operation_logs").insert({
|
|
45
|
+
name: "注销",
|
|
46
|
+
type: "logout",
|
|
47
|
+
remote_user: session?.userId,
|
|
48
|
+
remote_addr: ip,
|
|
49
|
+
http_user_agent: userAgent,
|
|
50
|
+
is_mobile: is_phone,
|
|
51
|
+
is_tablet,
|
|
52
|
+
object: "users",
|
|
53
|
+
status: status,
|
|
54
|
+
create: new Date(),
|
|
55
|
+
space: session?.space,
|
|
56
|
+
message: message,
|
|
57
|
+
data: JSON.stringify({
|
|
58
|
+
authToken: authToken,
|
|
59
|
+
session: session,
|
|
60
|
+
}),
|
|
61
|
+
related_to: {
|
|
62
|
+
o: "users",
|
|
63
|
+
ids: [session?.userId],
|
|
64
|
+
},
|
|
90
65
|
});
|
|
91
|
-
|
|
66
|
+
if (authToken) {
|
|
67
|
+
const broker = (0, objectql_2.getSteedosSchema)().broker;
|
|
68
|
+
broker.broadcast("$user.logout", {
|
|
69
|
+
authToken: authToken,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
res.json(null);
|
|
92
74
|
};
|
|
93
75
|
exports.logout = logout;
|
|
94
76
|
//# sourceMappingURL=logout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/rest-express/endpoints/logout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/rest-express/endpoints/logout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.providerCallback = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
options.onOAuthError(req, res, err_1);
|
|
34
|
-
}
|
|
35
|
-
(0, send_error_1.sendError)(res, err_1);
|
|
36
|
-
return [3, 3];
|
|
37
|
-
case 3: return [2];
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}); };
|
|
4
|
+
const getClientIp_1 = require("../../utils/getClientIp");
|
|
5
|
+
const get_user_agent_1 = require("../../utils/get-user-agent");
|
|
6
|
+
const send_error_1 = require("../../utils/send-error");
|
|
7
|
+
const providerCallback = (accountsServer, options) => async (req, res) => {
|
|
8
|
+
try {
|
|
9
|
+
const userAgent = (0, get_user_agent_1.getUserAgent)(req);
|
|
10
|
+
const ip = (0, getClientIp_1.getClientIp)(req);
|
|
11
|
+
const loggedInUser = await accountsServer.loginWithService("oauth", {
|
|
12
|
+
...(req.params || {}),
|
|
13
|
+
...(req.query || {}),
|
|
14
|
+
...(req.body || {}),
|
|
15
|
+
...(req.session || {}),
|
|
16
|
+
}, { ip, userAgent });
|
|
17
|
+
if (options && options.onOAuthSuccess) {
|
|
18
|
+
options.onOAuthSuccess(req, res, loggedInUser);
|
|
19
|
+
}
|
|
20
|
+
if (options && options.transformOAuthResponse) {
|
|
21
|
+
res.json(options.transformOAuthResponse(loggedInUser));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
res.json(loggedInUser);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
if (options && options.onOAuthError) {
|
|
29
|
+
options.onOAuthError(req, res, err);
|
|
30
|
+
}
|
|
31
|
+
(0, send_error_1.sendError)(res, err);
|
|
32
|
+
}
|
|
41
33
|
};
|
|
42
34
|
exports.providerCallback = providerCallback;
|
|
43
35
|
//# sourceMappingURL=provider-callback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-callback.js","sourceRoot":"","sources":["../../../../src/rest-express/endpoints/oauth/provider-callback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider-callback.js","sourceRoot":"","sources":["../../../../src/rest-express/endpoints/oauth/provider-callback.ts"],"names":[],"mappings":";;;AASA,yDAAsD;AAEtD,+DAA0D;AAC1D,uDAAmD;AAO5C,MAAM,gBAAgB,GAC3B,CAAC,cAA8B,EAAE,OAAgC,EAAE,EAAE,CACrE,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IACpD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,gBAAgB,CACxD,OAAO,EACP;YACE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,GAAG,CAAE,GAA0B,CAAC,OAAO,IAAI,EAAE,CAAC;SAC/C,EACD,EAAE,EAAE,EAAE,SAAS,EAAE,CAClB,CAAC;QAEF,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,IAAA,sBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAjCS,QAAA,gBAAgB,oBAiCzB"}
|