@things-factory/auth-base 4.3.591 → 4.3.671
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/package.json +5 -5
- package/dist-server/constants/error-code.js +0 -21
- package/dist-server/constants/error-code.js.map +0 -1
- package/dist-server/constants/error-message.js +0 -1
- package/dist-server/constants/error-message.js.map +0 -1
- package/dist-server/constants/max-age.js +0 -5
- package/dist-server/constants/max-age.js.map +0 -1
- package/dist-server/controllers/auth.js +0 -21
- package/dist-server/controllers/auth.js.map +0 -1
- package/dist-server/controllers/change-pwd.js +0 -80
- package/dist-server/controllers/change-pwd.js.map +0 -1
- package/dist-server/controllers/checkin.js +0 -21
- package/dist-server/controllers/checkin.js.map +0 -1
- package/dist-server/controllers/delete-user.js +0 -61
- package/dist-server/controllers/delete-user.js.map +0 -1
- package/dist-server/controllers/invitation.js +0 -119
- package/dist-server/controllers/invitation.js.map +0 -1
- package/dist-server/controllers/profile.js +0 -26
- package/dist-server/controllers/profile.js.map +0 -1
- package/dist-server/controllers/reset-password.js +0 -110
- package/dist-server/controllers/reset-password.js.map +0 -1
- package/dist-server/controllers/signin.js +0 -76
- package/dist-server/controllers/signin.js.map +0 -1
- package/dist-server/controllers/signup.js +0 -105
- package/dist-server/controllers/signup.js.map +0 -1
- package/dist-server/controllers/unlock-user.js +0 -60
- package/dist-server/controllers/unlock-user.js.map +0 -1
- package/dist-server/controllers/utils/make-invitation-token.js +0 -12
- package/dist-server/controllers/utils/make-invitation-token.js.map +0 -1
- package/dist-server/controllers/utils/make-verification-token.js +0 -12
- package/dist-server/controllers/utils/make-verification-token.js.map +0 -1
- package/dist-server/controllers/utils/password-rule.js +0 -90
- package/dist-server/controllers/utils/password-rule.js.map +0 -1
- package/dist-server/controllers/utils/save-invitation-token.js +0 -13
- package/dist-server/controllers/utils/save-invitation-token.js.map +0 -1
- package/dist-server/controllers/utils/save-verification-token.js +0 -15
- package/dist-server/controllers/utils/save-verification-token.js.map +0 -1
- package/dist-server/controllers/verification.js +0 -78
- package/dist-server/controllers/verification.js.map +0 -1
- package/dist-server/errors/auth-error.js +0 -40
- package/dist-server/errors/auth-error.js.map +0 -1
- package/dist-server/errors/index.js +0 -19
- package/dist-server/errors/index.js.map +0 -1
- package/dist-server/errors/user-domain-not-match-error.js +0 -24
- package/dist-server/errors/user-domain-not-match-error.js.map +0 -1
- package/dist-server/index.js +0 -29
- package/dist-server/index.js.map +0 -1
- package/dist-server/middlewares/authenticate-401-middleware.js +0 -84
- package/dist-server/middlewares/authenticate-401-middleware.js.map +0 -1
- package/dist-server/middlewares/domain-authenticate-middleware.js +0 -58
- package/dist-server/middlewares/domain-authenticate-middleware.js.map +0 -1
- package/dist-server/middlewares/graphql-authenticate-middleware.js +0 -17
- package/dist-server/middlewares/graphql-authenticate-middleware.js.map +0 -1
- package/dist-server/middlewares/index.js +0 -57
- package/dist-server/middlewares/index.js.map +0 -1
- package/dist-server/middlewares/jwt-authenticate-middleware.js +0 -77
- package/dist-server/middlewares/jwt-authenticate-middleware.js.map +0 -1
- package/dist-server/middlewares/signin-middleware.js +0 -47
- package/dist-server/middlewares/signin-middleware.js.map +0 -1
- package/dist-server/migrations/1548206416130-SeedUser.js +0 -46
- package/dist-server/migrations/1548206416130-SeedUser.js.map +0 -1
- package/dist-server/migrations/1566805283882-SeedPrivilege.js +0 -26
- package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/router/auth-checkin-router.js +0 -96
- package/dist-server/router/auth-checkin-router.js.map +0 -1
- package/dist-server/router/auth-private-process-router.js +0 -91
- package/dist-server/router/auth-private-process-router.js.map +0 -1
- package/dist-server/router/auth-public-process-router.js +0 -243
- package/dist-server/router/auth-public-process-router.js.map +0 -1
- package/dist-server/router/auth-signin-router.js +0 -38
- package/dist-server/router/auth-signin-router.js.map +0 -1
- package/dist-server/router/auth-signup-router.js +0 -76
- package/dist-server/router/auth-signup-router.js.map +0 -1
- package/dist-server/router/index.js +0 -25
- package/dist-server/router/index.js.map +0 -1
- package/dist-server/router/oauth2/index.js +0 -19
- package/dist-server/router/oauth2/index.js.map +0 -1
- package/dist-server/router/oauth2/oauth2-authorize-router.js +0 -72
- package/dist-server/router/oauth2/oauth2-authorize-router.js.map +0 -1
- package/dist-server/router/oauth2/oauth2-router.js +0 -137
- package/dist-server/router/oauth2/oauth2-router.js.map +0 -1
- package/dist-server/router/oauth2/oauth2-server.js +0 -201
- package/dist-server/router/oauth2/oauth2-server.js.map +0 -1
- package/dist-server/router/oauth2/passport-oauth2-client-password.js +0 -84
- package/dist-server/router/oauth2/passport-oauth2-client-password.js.map +0 -1
- package/dist-server/router/oauth2/passport-refresh-token.js +0 -84
- package/dist-server/router/oauth2/passport-refresh-token.js.map +0 -1
- package/dist-server/router/path-base-domain-router.js +0 -15
- package/dist-server/router/path-base-domain-router.js.map +0 -1
- package/dist-server/router/site-root-router.js +0 -48
- package/dist-server/router/site-root-router.js.map +0 -1
- package/dist-server/routes.js +0 -58
- package/dist-server/routes.js.map +0 -1
- package/dist-server/service/app-binding/app-binding-mutation.js +0 -45
- package/dist-server/service/app-binding/app-binding-mutation.js.map +0 -1
- package/dist-server/service/app-binding/app-binding-query.js +0 -135
- package/dist-server/service/app-binding/app-binding-query.js.map +0 -1
- package/dist-server/service/app-binding/app-binding-types.js +0 -29
- package/dist-server/service/app-binding/app-binding-types.js.map +0 -1
- package/dist-server/service/app-binding/app-binding.js +0 -34
- package/dist-server/service/app-binding/app-binding.js.map +0 -1
- package/dist-server/service/app-binding/index.js +0 -7
- package/dist-server/service/app-binding/index.js.map +0 -1
- package/dist-server/service/appliance/appliance-mutation.js +0 -117
- package/dist-server/service/appliance/appliance-mutation.js.map +0 -1
- package/dist-server/service/appliance/appliance-query.js +0 -85
- package/dist-server/service/appliance/appliance-query.js.map +0 -1
- package/dist-server/service/appliance/appliance-types.js +0 -93
- package/dist-server/service/appliance/appliance-types.js.map +0 -1
- package/dist-server/service/appliance/appliance.js +0 -155
- package/dist-server/service/appliance/appliance.js.map +0 -1
- package/dist-server/service/appliance/index.js +0 -9
- package/dist-server/service/appliance/index.js.map +0 -1
- package/dist-server/service/application/application-mutation.js +0 -121
- package/dist-server/service/application/application-mutation.js.map +0 -1
- package/dist-server/service/application/application-query.js +0 -128
- package/dist-server/service/application/application-query.js.map +0 -1
- package/dist-server/service/application/application-types.js +0 -119
- package/dist-server/service/application/application-types.js.map +0 -1
- package/dist-server/service/application/application.js +0 -236
- package/dist-server/service/application/application.js.map +0 -1
- package/dist-server/service/application/index.js +0 -9
- package/dist-server/service/application/index.js.map +0 -1
- package/dist-server/service/domain-generator/domain-generator-mutation.js +0 -117
- package/dist-server/service/domain-generator/domain-generator-mutation.js.map +0 -1
- package/dist-server/service/domain-generator/domain-generator-types.js +0 -79
- package/dist-server/service/domain-generator/domain-generator-types.js.map +0 -1
- package/dist-server/service/domain-generator/index.js +0 -6
- package/dist-server/service/domain-generator/index.js.map +0 -1
- package/dist-server/service/granted-role/granted-role-mutation.js +0 -144
- package/dist-server/service/granted-role/granted-role-mutation.js.map +0 -1
- package/dist-server/service/granted-role/granted-role-query.js +0 -93
- package/dist-server/service/granted-role/granted-role-query.js.map +0 -1
- package/dist-server/service/granted-role/granted-role.js +0 -49
- package/dist-server/service/granted-role/granted-role.js.map +0 -1
- package/dist-server/service/granted-role/index.js +0 -9
- package/dist-server/service/granted-role/index.js.map +0 -1
- package/dist-server/service/index.js +0 -94
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/invitation/index.js +0 -9
- package/dist-server/service/invitation/index.js.map +0 -1
- package/dist-server/service/invitation/invitation-mutation.js +0 -76
- package/dist-server/service/invitation/invitation-mutation.js.map +0 -1
- package/dist-server/service/invitation/invitation-query.js +0 -57
- package/dist-server/service/invitation/invitation-query.js.map +0 -1
- package/dist-server/service/invitation/invitation-types.js +0 -29
- package/dist-server/service/invitation/invitation-types.js.map +0 -1
- package/dist-server/service/invitation/invitation.js +0 -84
- package/dist-server/service/invitation/invitation.js.map +0 -1
- package/dist-server/service/login-history/index.js +0 -8
- package/dist-server/service/login-history/index.js.map +0 -1
- package/dist-server/service/login-history/login-history-query.js +0 -67
- package/dist-server/service/login-history/login-history-query.js.map +0 -1
- package/dist-server/service/login-history/login-history.js +0 -68
- package/dist-server/service/login-history/login-history.js.map +0 -1
- package/dist-server/service/partner/index.js +0 -9
- package/dist-server/service/partner/index.js.map +0 -1
- package/dist-server/service/partner/partner-mutation.js +0 -134
- package/dist-server/service/partner/partner-mutation.js.map +0 -1
- package/dist-server/service/partner/partner-query.js +0 -193
- package/dist-server/service/partner/partner-query.js.map +0 -1
- package/dist-server/service/partner/partner-types.js +0 -57
- package/dist-server/service/partner/partner-types.js.map +0 -1
- package/dist-server/service/partner/partner.js +0 -86
- package/dist-server/service/partner/partner.js.map +0 -1
- package/dist-server/service/password-history/index.js +0 -6
- package/dist-server/service/password-history/index.js.map +0 -1
- package/dist-server/service/password-history/password-history.js +0 -34
- package/dist-server/service/password-history/password-history.js.map +0 -1
- package/dist-server/service/privilege/index.js +0 -9
- package/dist-server/service/privilege/index.js.map +0 -1
- package/dist-server/service/privilege/privilege-directive.js +0 -85
- package/dist-server/service/privilege/privilege-directive.js.map +0 -1
- package/dist-server/service/privilege/privilege-mutation.js +0 -80
- package/dist-server/service/privilege/privilege-mutation.js.map +0 -1
- package/dist-server/service/privilege/privilege-query.js +0 -109
- package/dist-server/service/privilege/privilege-query.js.map +0 -1
- package/dist-server/service/privilege/privilege-types.js +0 -100
- package/dist-server/service/privilege/privilege-types.js.map +0 -1
- package/dist-server/service/privilege/privilege.js +0 -92
- package/dist-server/service/privilege/privilege.js.map +0 -1
- package/dist-server/service/role/index.js +0 -9
- package/dist-server/service/role/index.js.map +0 -1
- package/dist-server/service/role/role-mutation.js +0 -121
- package/dist-server/service/role/role-mutation.js.map +0 -1
- package/dist-server/service/role/role-query.js +0 -207
- package/dist-server/service/role/role-query.js.map +0 -1
- package/dist-server/service/role/role-types.js +0 -130
- package/dist-server/service/role/role-types.js.map +0 -1
- package/dist-server/service/role/role.js +0 -94
- package/dist-server/service/role/role.js.map +0 -1
- package/dist-server/service/user/index.js +0 -9
- package/dist-server/service/user/index.js.map +0 -1
- package/dist-server/service/user/user-mutation.js +0 -307
- package/dist-server/service/user/user-mutation.js.map +0 -1
- package/dist-server/service/user/user-query.js +0 -194
- package/dist-server/service/user/user-query.js.map +0 -1
- package/dist-server/service/user/user-types.js +0 -106
- package/dist-server/service/user/user-types.js.map +0 -1
- package/dist-server/service/user/user.js +0 -274
- package/dist-server/service/user/user.js.map +0 -1
- package/dist-server/service/verification-token/index.js +0 -6
- package/dist-server/service/verification-token/index.js.map +0 -1
- package/dist-server/service/verification-token/verification-token.js +0 -75
- package/dist-server/service/verification-token/verification-token.js.map +0 -1
- package/dist-server/templates/account-unlock-email.js +0 -69
- package/dist-server/templates/account-unlock-email.js.map +0 -1
- package/dist-server/templates/invitation-email.js +0 -70
- package/dist-server/templates/invitation-email.js.map +0 -1
- package/dist-server/templates/reset-password-email.js +0 -66
- package/dist-server/templates/reset-password-email.js.map +0 -1
- package/dist-server/templates/verification-email.js +0 -70
- package/dist-server/templates/verification-email.js.map +0 -1
- package/dist-server/utils/accepts.js +0 -14
- package/dist-server/utils/accepts.js.map +0 -1
- package/dist-server/utils/access-token-cookie.js +0 -45
- package/dist-server/utils/access-token-cookie.js.map +0 -1
- package/dist-server/utils/check-user-belongs-domain.js +0 -22
- package/dist-server/utils/check-user-belongs-domain.js.map +0 -1
- package/dist-server/utils/get-domain-from-hostname.js +0 -10
- package/dist-server/utils/get-domain-from-hostname.js.map +0 -1
- package/dist-server/utils/get-domain-users.js +0 -31
- package/dist-server/utils/get-domain-users.js.map +0 -1
- package/dist-server/utils/get-secret.js +0 -15
- package/dist-server/utils/get-secret.js.map +0 -1
- package/dist-server/utils/get-user-domains.js +0 -40
- package/dist-server/utils/get-user-domains.js.map +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.authenticate401Middleware = void 0;
|
|
4
|
-
const error_code_1 = require("../constants/error-code");
|
|
5
|
-
const auth_error_1 = require("../errors/auth-error");
|
|
6
|
-
const accepts_1 = require("../utils/accepts");
|
|
7
|
-
const debug = require('debug')('things-factory:auth-base:authenticate-401-middleware');
|
|
8
|
-
async function authenticate401Middleware(context, next) {
|
|
9
|
-
try {
|
|
10
|
-
await next();
|
|
11
|
-
}
|
|
12
|
-
catch (err) {
|
|
13
|
-
var message;
|
|
14
|
-
if (err instanceof auth_error_1.AuthError) {
|
|
15
|
-
message = context.t(`error.${err.errorCode}`, err.detail || {});
|
|
16
|
-
debug(`auth error(${err.errorCode})`, message);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
if ((err === null || err === void 0 ? void 0 : err.status) !== 401) {
|
|
20
|
-
throw err;
|
|
21
|
-
}
|
|
22
|
-
message = err.message;
|
|
23
|
-
}
|
|
24
|
-
debug('401 error', message);
|
|
25
|
-
context.status = 401;
|
|
26
|
-
context.body = message;
|
|
27
|
-
/*
|
|
28
|
-
* 클라이언트 라우팅을 위한 ApiHistoryFallback의 상황과,
|
|
29
|
-
* 서버라우팅의 상황에서 발생하는 던져지는 401 에러인 경우에는
|
|
30
|
-
* error code에 맞춰서 적절하게 rewriting 되도록 한다.
|
|
31
|
-
*/
|
|
32
|
-
const { method, header, path, originalUrl } = context;
|
|
33
|
-
if (method == 'POST' && path.startsWith('/graphql')) {
|
|
34
|
-
debug('Not rewriting', method, path, 'because the graphql request.');
|
|
35
|
-
if (err.errorCode == error_code_1.SUBDOMAIN_NOTFOUND) {
|
|
36
|
-
context.status = 403;
|
|
37
|
-
}
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (!(0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
|
|
41
|
-
debug('Not rewriting', method, path, 'because the client does not accept HTML.');
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const { redirect_to } = context.query;
|
|
45
|
-
const { redirectTo = redirect_to || originalUrl } = context.request.body || {};
|
|
46
|
-
debug('rewriting to signin', method, path, message, redirectTo);
|
|
47
|
-
switch (err.errorCode) {
|
|
48
|
-
case error_code_1.SUBDOMAIN_NOTFOUND:
|
|
49
|
-
context.redirect(`/auth/checkin?redirect_to=${encodeURIComponent(redirectTo)}`);
|
|
50
|
-
break;
|
|
51
|
-
case error_code_1.USER_LOCKED:
|
|
52
|
-
return await context.render('auth-page', {
|
|
53
|
-
pageElement: 'auth-activate',
|
|
54
|
-
elementScript: '/auth/activate.js',
|
|
55
|
-
data: {
|
|
56
|
-
email: err.detail.email,
|
|
57
|
-
message,
|
|
58
|
-
redirectTo
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
case error_code_1.USER_NOT_ACTIVATED:
|
|
62
|
-
return await context.render('auth-page', {
|
|
63
|
-
pageElement: 'auth-activate',
|
|
64
|
-
elementScript: '/auth/activate.js',
|
|
65
|
-
data: {
|
|
66
|
-
email: err.detail.email,
|
|
67
|
-
message,
|
|
68
|
-
redirectTo
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
default:
|
|
72
|
-
return await context.render('auth-page', {
|
|
73
|
-
pageElement: 'auth-signin',
|
|
74
|
-
elementScript: '/auth/signin.js',
|
|
75
|
-
data: {
|
|
76
|
-
message: err instanceof auth_error_1.AuthError ? message : '',
|
|
77
|
-
redirectTo
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.authenticate401Middleware = authenticate401Middleware;
|
|
84
|
-
//# sourceMappingURL=authenticate-401-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-401-middleware.js","sourceRoot":"","sources":["../../server/middlewares/authenticate-401-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.domainAuthenticateMiddleware = void 0;
|
|
4
|
-
const env_1 = require("@things-factory/env");
|
|
5
|
-
const typeorm_1 = require("typeorm");
|
|
6
|
-
const user_1 = require("../service/user/user");
|
|
7
|
-
const auth_error_1 = require("../errors/auth-error");
|
|
8
|
-
const get_user_domains_1 = require("../utils/get-user-domains");
|
|
9
|
-
const useVirtualHostBasedDomain = !!env_1.config.get('useVirtualHostBasedDomain');
|
|
10
|
-
const fixed = env_1.config.get('subdomain');
|
|
11
|
-
const subdomainOffset = env_1.config.getNumber('subdomainOffset', 2);
|
|
12
|
-
const debug = require('debug')('things-factory:auth-base:domain-authenticate-middleware');
|
|
13
|
-
process.domainOwnerGranted = async (domain, user) => {
|
|
14
|
-
return domain && domain.owner === user.id;
|
|
15
|
-
};
|
|
16
|
-
process.superUserGranted = async (domain, user) => {
|
|
17
|
-
if (!user.domains.length)
|
|
18
|
-
user = await (0, typeorm_1.getRepository)(user_1.User).findOne(user.id, {
|
|
19
|
-
relations: ['domains']
|
|
20
|
-
});
|
|
21
|
-
const systemDomain = user.domains.find((domain) => domain.subdomain === 'system');
|
|
22
|
-
if (!systemDomain)
|
|
23
|
-
return false;
|
|
24
|
-
return systemDomain.owner === user.id;
|
|
25
|
-
};
|
|
26
|
-
/*
|
|
27
|
-
* 현재 subdomain 과 user의 domain list와의 비교를 통해서,
|
|
28
|
-
* 인증 성공 또는 인증 에러를 발생시킬 것인지를 결정한다.
|
|
29
|
-
* 1. 현재 subdomain 이 결정되지 않은 경우.
|
|
30
|
-
* - checkin로 이동한다.
|
|
31
|
-
* 2. superUser 판단
|
|
32
|
-
* 3. 현재 subdomain 이 결정된 경우.
|
|
33
|
-
* - user의 domains 리스트에 해당 subdomain이 없다면, 인증 오류를 발생한다.
|
|
34
|
-
*/
|
|
35
|
-
async function domainAuthenticateMiddleware(context, next) {
|
|
36
|
-
const { t } = context;
|
|
37
|
-
const { domain, user } = context.state;
|
|
38
|
-
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
39
|
-
debug('context - user, subdomain', user === null || user === void 0 ? void 0 : user.email, subdomain);
|
|
40
|
-
// 1. 현재 subdomain 이 결정되지 않은 경우.
|
|
41
|
-
// - checkin로 이동한다.
|
|
42
|
-
if (!subdomain) {
|
|
43
|
-
debug('subdomain not found, move to checkin');
|
|
44
|
-
throw new auth_error_1.AuthError({
|
|
45
|
-
errorCode: auth_error_1.AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
// 2. 현재 subdomain 이 결정된 경우.
|
|
49
|
-
const userDomains = await (0, get_user_domains_1.getUserDomains)(user);
|
|
50
|
-
if (userDomains.find(domain => domain.subdomain == subdomain)) {
|
|
51
|
-
return await next();
|
|
52
|
-
}
|
|
53
|
-
throw new auth_error_1.AuthError({
|
|
54
|
-
errorCode: auth_error_1.AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
exports.domainAuthenticateMiddleware = domainAuthenticateMiddleware;
|
|
58
|
-
//# sourceMappingURL=domain-authenticate-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-authenticate-middleware.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,qCAAuC;AACvC,+CAA2C;AAC3C,qDAAgD;AAChD,gEAA0D;AAE1D,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC3E,MAAM,KAAK,GAAG,YAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AACrC,MAAM,eAAe,GAAG,YAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;AAW9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,yDAAyD,CAAC,CAAA;AAEzF,OAAO,CAAC,kBAAkB,GAAG,KAAK,EAAE,MAAc,EAAE,IAAU,EAAoB,EAAE;IAClF,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AAC3C,CAAC,CAAA;AAED,OAAO,CAAC,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,IAAU,EAAoB,EAAE;IAChF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;QACtB,IAAI,GAAG,MAAM,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YAChD,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC,CAAA;IACJ,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAA;IACjG,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAA;IAE/B,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AACvC,CAAC,CAAA;AAED;;;;;;;;GAQG;AAEI,KAAK,UAAU,4BAA4B,CAAC,OAAY,EAAE,IAAS;IACxE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IACrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAEtC,MAAM,SAAS,GAAW,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;IAE3C,KAAK,CAAC,2BAA2B,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAE1D,gCAAgC;IAChC,mBAAmB;IACnB,IAAI,CAAC,SAAS,EAAE;QACd,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAE7C,MAAM,IAAI,sBAAS,CAAC;YAClB,SAAS,EAAE,sBAAS,CAAC,WAAW,CAAC,kBAAkB;SACpD,CAAC,CAAA;KACH;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAa,MAAM,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAA;IACxD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE;QAC7D,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED,MAAM,IAAI,sBAAS,CAAC;QAClB,SAAS,EAAE,sBAAS,CAAC,WAAW,CAAC,kBAAkB;KACpD,CAAC,CAAA;AACJ,CAAC;AA3BD,oEA2BC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.graphqlAuthenticateMiddleware = void 0;
|
|
4
|
-
const jwt_authenticate_middleware_1 = require("./jwt-authenticate-middleware");
|
|
5
|
-
const domain_authenticate_middleware_1 = require("./domain-authenticate-middleware");
|
|
6
|
-
const debug = require('debug')('things-factory:auth-base:graphql-authenticate-middleware');
|
|
7
|
-
async function graphqlAuthenticateMiddleware(context, next) {
|
|
8
|
-
const { method, path } = context;
|
|
9
|
-
if (method == 'POST' && path.startsWith('/graphql')) {
|
|
10
|
-
debug(method, path);
|
|
11
|
-
await (0, jwt_authenticate_middleware_1.jwtAuthenticateMiddleware)(context, () => { });
|
|
12
|
-
await (0, domain_authenticate_middleware_1.domainAuthenticateMiddleware)(context, () => { });
|
|
13
|
-
}
|
|
14
|
-
await next();
|
|
15
|
-
}
|
|
16
|
-
exports.graphqlAuthenticateMiddleware = graphqlAuthenticateMiddleware;
|
|
17
|
-
//# sourceMappingURL=graphql-authenticate-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/graphql-authenticate-middleware.ts"],"names":[],"mappings":";;;AAAA,+EAAyE;AACzE,qFAA+E;AAE/E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,0DAA0D,CAAC,CAAA;AAEnF,KAAK,UAAU,6BAA6B,CAAC,OAAO,EAAE,IAAI;IAC/D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAEhC,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACnD,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnB,MAAM,IAAA,uDAAyB,EAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClD,MAAM,IAAA,6DAA4B,EAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;KACtD;IAED,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AAXD,sEAWC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.initMiddlewares = void 0;
|
|
21
|
-
const koa_passport_1 = __importDefault(require("koa-passport"));
|
|
22
|
-
const authenticate_401_middleware_1 = require("./authenticate-401-middleware");
|
|
23
|
-
const domain_authenticate_middleware_1 = require("./domain-authenticate-middleware");
|
|
24
|
-
const graphql_authenticate_middleware_1 = require("./graphql-authenticate-middleware");
|
|
25
|
-
const jwt_authenticate_middleware_1 = require("./jwt-authenticate-middleware");
|
|
26
|
-
const debug = require('debug')('things-factory:auth-base:middleware');
|
|
27
|
-
function initMiddlewares(app) {
|
|
28
|
-
/* passport initialize */
|
|
29
|
-
app.use(koa_passport_1.default.initialize());
|
|
30
|
-
/* authentication error handling */
|
|
31
|
-
app.use(authenticate_401_middleware_1.authenticate401Middleware);
|
|
32
|
-
/*
|
|
33
|
-
* post:graphql 에 대해서는 authenticationMiddleware를 적용한다.
|
|
34
|
-
* graphql app을 router에 적용하지 못하기 때문임.
|
|
35
|
-
*/
|
|
36
|
-
app.use(graphql_authenticate_middleware_1.graphqlAuthenticateMiddleware);
|
|
37
|
-
}
|
|
38
|
-
exports.initMiddlewares = initMiddlewares;
|
|
39
|
-
process.on('bootstrap-module-subscription', (app, subscriptionMiddleware) => {
|
|
40
|
-
debug('bootstrap-module-subscription');
|
|
41
|
-
subscriptionMiddleware.push(jwt_authenticate_middleware_1.jwtAuthenticateMiddleware, domain_authenticate_middleware_1.domainAuthenticateMiddleware);
|
|
42
|
-
// subscriptionMiddleware.push(jwtAuthenticateMiddleware, async (context, next) => {
|
|
43
|
-
// const { domain, user } = context.state
|
|
44
|
-
// if (domain && !user.domains.find(d => d.subdomain === domain.subdomain)) {
|
|
45
|
-
// let message = `subdomain '${domain.subdomain}' is not allowed for the user`
|
|
46
|
-
// debug('subscription', message)
|
|
47
|
-
// context.throw(401, message)
|
|
48
|
-
// }
|
|
49
|
-
// debug('subscription', user.email, domain?.subdomain)
|
|
50
|
-
// await next()
|
|
51
|
-
// })
|
|
52
|
-
});
|
|
53
|
-
__exportStar(require("./jwt-authenticate-middleware"), exports);
|
|
54
|
-
__exportStar(require("./domain-authenticate-middleware"), exports);
|
|
55
|
-
__exportStar(require("./signin-middleware"), exports);
|
|
56
|
-
__exportStar(require("./authenticate-401-middleware"), exports);
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,gEAAmC;AAEnC,+EAAyE;AACzE,qFAA+E;AAC/E,uFAAiF;AACjF,+EAAyE;AAEzE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAA;AAErE,SAAgB,eAAe,CAAC,GAAQ;IACtC,yBAAyB;IACzB,GAAG,CAAC,GAAG,CAAC,sBAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IAE9B,mCAAmC;IACnC,GAAG,CAAC,GAAG,CAAC,uDAAyB,CAAC,CAAA;IAElC;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,+DAA6B,CAAC,CAAA;AACxC,CAAC;AAZD,0CAYC;AAED,OAAO,CAAC,EAAE,CAAC,+BAAsC,EAAE,CAAC,GAAG,EAAE,sBAAsB,EAAE,EAAE;IACjF,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAEtC,sBAAsB,CAAC,IAAI,CAAC,uDAAyB,EAAE,6DAA4B,CAAC,CAAA;IAEpF,oFAAoF;IACpF,2CAA2C;IAE3C,+EAA+E;IAC/E,kFAAkF;IAClF,qCAAqC;IACrC,kCAAkC;IAClC,MAAM;IAEN,yDAAyD;IAEzD,iBAAiB;IACjB,KAAK;AACP,CAAC,CAAC,CAAA;AAEF,gEAA6C;AAC7C,mEAAgD;AAChD,sDAAmC;AACnC,gEAA6C"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.jwtAuthenticateMiddleware = void 0;
|
|
7
|
-
const passport_1 = __importDefault(require("passport"));
|
|
8
|
-
const passport_jwt_1 = require("passport-jwt");
|
|
9
|
-
const user_1 = require("../service/user/user");
|
|
10
|
-
const verification_token_1 = require("../service/verification-token/verification-token");
|
|
11
|
-
const get_secret_1 = require("../utils/get-secret");
|
|
12
|
-
const access_token_cookie_1 = require("../utils/access-token-cookie");
|
|
13
|
-
const make_verification_token_1 = require("../controllers/utils/make-verification-token");
|
|
14
|
-
const save_verification_token_1 = require("../controllers/utils/save-verification-token");
|
|
15
|
-
const debug = require('debug')('things-factory:auth-base:jwt-authenticate-middleware');
|
|
16
|
-
passport_1.default.use(new passport_jwt_1.Strategy({
|
|
17
|
-
secretOrKey: get_secret_1.SECRET,
|
|
18
|
-
passReqToCallback: true,
|
|
19
|
-
jwtFromRequest: passport_jwt_1.ExtractJwt.fromExtractors([
|
|
20
|
-
passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
|
21
|
-
passport_jwt_1.ExtractJwt.fromHeader('authorization'),
|
|
22
|
-
passport_jwt_1.ExtractJwt.fromHeader('x-access-token'),
|
|
23
|
-
passport_jwt_1.ExtractJwt.fromUrlQueryParameter('access_token'),
|
|
24
|
-
passport_jwt_1.ExtractJwt.fromBodyField('access_token'),
|
|
25
|
-
req => {
|
|
26
|
-
var token = null;
|
|
27
|
-
token = (0, access_token_cookie_1.getAccessTokenCookie)(req === null || req === void 0 ? void 0 : req.ctx);
|
|
28
|
-
return token;
|
|
29
|
-
}
|
|
30
|
-
])
|
|
31
|
-
}, async (request, decoded, done) => {
|
|
32
|
-
try {
|
|
33
|
-
return done(null, decoded);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
return done(error);
|
|
37
|
-
}
|
|
38
|
-
}));
|
|
39
|
-
async function jwtAuthenticateMiddleware(context, next) {
|
|
40
|
-
const { path } = context;
|
|
41
|
-
const { user } = context.state;
|
|
42
|
-
if (user) {
|
|
43
|
-
debug('reuse user', path, user === null || user === void 0 ? void 0 : user.email);
|
|
44
|
-
return await next();
|
|
45
|
-
}
|
|
46
|
-
return await passport_1.default.authenticate('jwt', { session: false }, async (err, decoded, info) => {
|
|
47
|
-
debug('passport.authenticate - jwt', path);
|
|
48
|
-
if (err || !decoded) {
|
|
49
|
-
const e = (context.state.error = err || info);
|
|
50
|
-
debug('error - jwt', path, err === null || err === void 0 ? void 0 : err.message, info === null || info === void 0 ? void 0 : info.message);
|
|
51
|
-
// TODO cookie 가 authenticate에 적용된 상황에서 오류가 발생한 경우만, 쿠키를 클리어한다.
|
|
52
|
-
(0, access_token_cookie_1.clearAccessTokenCookie)(context);
|
|
53
|
-
context.throw(401, e.message);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const userEntity = await user_1.User.checkAuth(decoded);
|
|
57
|
-
if (userEntity.status === user_1.UserStatus.PWD_RESET_REQUIRED) {
|
|
58
|
-
try {
|
|
59
|
-
const token = (0, make_verification_token_1.makeVerificationToken)();
|
|
60
|
-
await (0, save_verification_token_1.saveVerificationToken)(userEntity.id, token, verification_token_1.VerificationTokenType.PASSWORD_RESET);
|
|
61
|
-
(0, access_token_cookie_1.clearAccessTokenCookie)(context);
|
|
62
|
-
context.redirect(`/auth/reset-password?token=${token}`);
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
throw err;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
context.state.user = userEntity;
|
|
70
|
-
context.state.decodedToken = decoded;
|
|
71
|
-
await next();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
})(context, next);
|
|
75
|
-
}
|
|
76
|
-
exports.jwtAuthenticateMiddleware = jwtAuthenticateMiddleware;
|
|
77
|
-
//# sourceMappingURL=jwt-authenticate-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/jwt-authenticate-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.signinMiddleware = void 0;
|
|
7
|
-
const passport_1 = __importDefault(require("passport"));
|
|
8
|
-
const passport_local_1 = require("passport-local");
|
|
9
|
-
const signin_1 = require("../controllers/signin");
|
|
10
|
-
const debug = require('debug')('things-factory:auth-base:signin-middleware');
|
|
11
|
-
passport_1.default.use('signin', new passport_local_1.Strategy({
|
|
12
|
-
usernameField: 'email',
|
|
13
|
-
passwordField: 'password'
|
|
14
|
-
}, async (email, password, done) => {
|
|
15
|
-
try {
|
|
16
|
-
const { user: userInfo, token, domains } = await (0, signin_1.signin)({
|
|
17
|
-
email,
|
|
18
|
-
password
|
|
19
|
-
});
|
|
20
|
-
return done(null, {
|
|
21
|
-
user: userInfo,
|
|
22
|
-
token,
|
|
23
|
-
domains
|
|
24
|
-
}, {
|
|
25
|
-
message: 'Logged in Successfully'
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
return done(error);
|
|
30
|
-
}
|
|
31
|
-
}));
|
|
32
|
-
async function signinMiddleware(context, next) {
|
|
33
|
-
return passport_1.default.authenticate('signin', { session: false }, async (err, user, info) => {
|
|
34
|
-
if (err || !user) {
|
|
35
|
-
debug('signin fail', err);
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
const { user: userInfo, token } = user;
|
|
40
|
-
context.state.user = userInfo;
|
|
41
|
-
context.state.token = token;
|
|
42
|
-
await next();
|
|
43
|
-
}
|
|
44
|
-
})(context, next);
|
|
45
|
-
}
|
|
46
|
-
exports.signinMiddleware = signinMiddleware;
|
|
47
|
-
//# sourceMappingURL=signin-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signin-middleware.js","sourceRoot":"","sources":["../../server/middlewares/signin-middleware.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,mDAA0D;AAC1D,kDAA8C;AAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,4CAA4C,CAAC,CAAA;AAE5E,kBAAQ,CAAC,GAAG,CACV,QAAQ,EACR,IAAI,yBAAa,CACf;IACE,aAAa,EAAE,OAAO;IACtB,aAAa,EAAE,UAAU;CAC1B,EACD,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAC9B,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,eAAM,EAAC;YACtD,KAAK;YACL,QAAQ;SACT,CAAC,CAAA;QAEF,OAAO,IAAI,CACT,IAAI,EACJ;YACE,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,OAAO;SACR,EACD;YACE,OAAO,EAAE,wBAAwB;SAClC,CACF,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;KACnB;AACH,CAAC,CACF,CACF,CAAA;AAEM,KAAK,UAAU,gBAAgB,CAAC,OAAO,EAAE,IAAI;IAClD,OAAO,kBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACnF,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YAChB,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;YAEzB,MAAM,GAAG,CAAA;SACV;aAAM;YACL,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAEtC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAA;YAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE3B,MAAM,IAAI,EAAE,CAAA;SACb;IACH,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACnB,CAAC;AAfD,4CAeC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SeedUsers1548206416130 = void 0;
|
|
4
|
-
const shell_1 = require("@things-factory/shell");
|
|
5
|
-
const env_1 = require("@things-factory/env");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
|
-
const user_1 = require("../service/user/user");
|
|
8
|
-
const ADMIN_ACCOUNT = env_1.config.get('adminAccount', {
|
|
9
|
-
name: 'Admin',
|
|
10
|
-
email: 'admin@hatiolab.com',
|
|
11
|
-
password: 'admin'
|
|
12
|
-
});
|
|
13
|
-
const SEED_USERS = [
|
|
14
|
-
Object.assign(Object.assign({}, ADMIN_ACCOUNT), { userType: 'user', status: user_1.UserStatus.ACTIVATED })
|
|
15
|
-
];
|
|
16
|
-
class SeedUsers1548206416130 {
|
|
17
|
-
async up(queryRunner) {
|
|
18
|
-
const userRepository = (0, typeorm_1.getRepository)(user_1.User);
|
|
19
|
-
const domainRepository = (0, typeorm_1.getRepository)(shell_1.Domain);
|
|
20
|
-
const domain = await domainRepository.findOne({ where: { name: 'SYSTEM' } });
|
|
21
|
-
try {
|
|
22
|
-
for (let i = 0; i < SEED_USERS.length; i++) {
|
|
23
|
-
const user = SEED_USERS[i];
|
|
24
|
-
const salt = user_1.User.generateSalt();
|
|
25
|
-
const password = user_1.User.encode(user.password, salt);
|
|
26
|
-
await userRepository.save(Object.assign(Object.assign({}, user), { salt,
|
|
27
|
-
password, domains: [domain] }));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
console.error(e);
|
|
32
|
-
}
|
|
33
|
-
const admin = await userRepository.findOne({ where: { email: 'admin@hatiolab.com' } });
|
|
34
|
-
domain.owner = admin.id;
|
|
35
|
-
await domainRepository.save(domain);
|
|
36
|
-
}
|
|
37
|
-
async down(queryRunner) {
|
|
38
|
-
const repository = (0, typeorm_1.getRepository)(user_1.User);
|
|
39
|
-
SEED_USERS.reverse().forEach(async (user) => {
|
|
40
|
-
let record = await repository.findOne({ email: user.email });
|
|
41
|
-
await repository.remove(record);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.SeedUsers1548206416130 = SeedUsers1548206416130;
|
|
46
|
-
//# sourceMappingURL=1548206416130-SeedUser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1548206416130-SeedUser.js","sourceRoot":"","sources":["../../server/migrations/1548206416130-SeedUser.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,6CAA4C;AAC5C,qCAAwE;AACxE,+CAAuD;AAEvD,MAAM,aAAa,GAAG,YAAM,CAAC,GAAG,CAAC,cAAc,EAAE;IAC/C,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,OAAO;CAClB,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG;oCAEZ,aAAa,KAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAU,CAAC,SAAS;CAE/B,CAAA;AACD,MAAa,sBAAsB;IAC1B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,cAAc,GAAG,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAA;QAC1C,MAAM,gBAAgB,GAAG,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAA;QAE9C,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;QAEpF,IAAI;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,IAAI,GAAG,WAAI,CAAC,YAAY,EAAE,CAAA;gBAChC,MAAM,QAAQ,GAAG,WAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAEjD,MAAM,cAAc,CAAC,IAAI,iCACpB,IAAI,KACP,IAAI;oBACJ,QAAQ,EACR,OAAO,EAAE,CAAC,MAAM,CAAC,IACjB,CAAA;aACH;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACjB;QAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;QACtF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAA;QAEvB,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAA;QAEtC,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACxC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAC5D,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAtCD,wDAsCC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SeedPrivilege1566805283882 = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
|
-
const privilege_1 = require("../service/privilege/privilege");
|
|
6
|
-
class SeedPrivilege1566805283882 {
|
|
7
|
-
async up(queryRunner) {
|
|
8
|
-
const privilegeRepository = (0, typeorm_1.getRepository)(privilege_1.Privilege);
|
|
9
|
-
const { schema } = require('@things-factory/shell/dist-server/schema');
|
|
10
|
-
await schema();
|
|
11
|
-
const privileges = process['PRIVILEGES'];
|
|
12
|
-
try {
|
|
13
|
-
for (const [category, name] of Object.values(privileges)) {
|
|
14
|
-
if (0 == (await privilegeRepository.count({ where: { category, name } }))) {
|
|
15
|
-
await privilegeRepository.save({ category, name });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.error(e);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
async down(queryRunner) { }
|
|
24
|
-
}
|
|
25
|
-
exports.SeedPrivilege1566805283882 = SeedPrivilege1566805283882;
|
|
26
|
-
//# sourceMappingURL=1566805283882-SeedPrivilege.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1566805283882-SeedPrivilege.js","sourceRoot":"","sources":["../../server/migrations/1566805283882-SeedPrivilege.ts"],"names":[],"mappings":";;;AAAA,qCAAwE;AACxE,8DAA0D;AAE1D,MAAa,0BAA0B;IAC9B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,mBAAmB,GAAG,IAAA,uBAAa,EAAC,qBAAS,CAAC,CAAA;QAEpD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAA;QACtE,MAAM,MAAM,EAAE,CAAA;QACd,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;QAExC,IAAI;YACF,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAA8B,CAAC,EAAE;gBAC5E,IAAI,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;oBACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;iBACnD;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACjB;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB,IAAiB,CAAC;CAC7D;AApBD,gEAoBC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.migrations = void 0;
|
|
4
|
-
const glob = require('glob');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
exports.migrations = [];
|
|
7
|
-
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
-
if (file.indexOf('index.js') !== -1)
|
|
9
|
-
return;
|
|
10
|
-
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.authCheckinRouter = void 0;
|
|
7
|
-
const env_1 = require("@things-factory/env");
|
|
8
|
-
const accepts_1 = require("../utils/accepts");
|
|
9
|
-
const shell_1 = require("@things-factory/shell");
|
|
10
|
-
const koa_router_1 = __importDefault(require("koa-router"));
|
|
11
|
-
const login_history_1 = require("../service/login-history/login-history");
|
|
12
|
-
const access_token_cookie_1 = require("../utils/access-token-cookie");
|
|
13
|
-
const get_user_domains_1 = require("../utils/get-user-domains");
|
|
14
|
-
const debug = require('debug')('things-factory:auth-base:checkin-router');
|
|
15
|
-
const domainType = env_1.config.get('domainType');
|
|
16
|
-
exports.authCheckinRouter = new koa_router_1.default();
|
|
17
|
-
exports.authCheckinRouter.get('/auth/checkin/:subdomain?', async (context, next) => {
|
|
18
|
-
const { request, t } = context;
|
|
19
|
-
const header = request.header;
|
|
20
|
-
const { user } = context.state;
|
|
21
|
-
let { subdomain } = context.params;
|
|
22
|
-
let domains = await (0, get_user_domains_1.getUserDomains)(user);
|
|
23
|
-
if (domainType)
|
|
24
|
-
domains = domains.filter(d => d.extType == domainType);
|
|
25
|
-
if (!(0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
|
|
26
|
-
// When request expects non html response
|
|
27
|
-
try {
|
|
28
|
-
debug('get:/auth/checkin/:subdomain?', subdomain);
|
|
29
|
-
if (!subdomain)
|
|
30
|
-
throw new Error(t('error.domain not specified', { subdomain })); // When params doesn't have subdomain
|
|
31
|
-
const checkInDomain = domains.find((d) => d.subdomain === subdomain); // When no matched domain with subdomain
|
|
32
|
-
if (!checkInDomain)
|
|
33
|
-
throw new Error(t('error.domain not specified', { subdomain }));
|
|
34
|
-
await checkIn(checkInDomain, null, context);
|
|
35
|
-
context.body = true;
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
(0, access_token_cookie_1.clearAccessTokenCookie)(context);
|
|
39
|
-
throw e;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
// When request expects html response
|
|
44
|
-
const { redirect_to: redirectTo = '/' } = context.query;
|
|
45
|
-
try {
|
|
46
|
-
let message;
|
|
47
|
-
debug('get:/auth/checkin/:subdomain?', subdomain, redirectTo);
|
|
48
|
-
if (!subdomain) {
|
|
49
|
-
/* try to find domain from redirectTo path */
|
|
50
|
-
subdomain = (0, shell_1.findSubdomainFromPath)(context, redirectTo);
|
|
51
|
-
}
|
|
52
|
-
let checkInDomain;
|
|
53
|
-
if (subdomain) {
|
|
54
|
-
checkInDomain = domains.find(d => d.subdomain == subdomain);
|
|
55
|
-
if (!checkInDomain)
|
|
56
|
-
message = t('error.domain not allowed', { subdomain });
|
|
57
|
-
}
|
|
58
|
-
else if (domains.length === 1) {
|
|
59
|
-
checkInDomain = domains[0];
|
|
60
|
-
}
|
|
61
|
-
if (checkInDomain)
|
|
62
|
-
return await checkIn(checkInDomain, redirectTo, context);
|
|
63
|
-
await context.render('auth-page', {
|
|
64
|
-
pageElement: 'auth-checkin',
|
|
65
|
-
elementScript: '/auth/checkin.js',
|
|
66
|
-
data: {
|
|
67
|
-
user,
|
|
68
|
-
domains,
|
|
69
|
-
domainType,
|
|
70
|
-
redirectTo,
|
|
71
|
-
message
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
catch (e) {
|
|
76
|
-
(0, access_token_cookie_1.clearAccessTokenCookie)(context);
|
|
77
|
-
context.redirect(`/auth/signin?email=${encodeURIComponent(user.email)}&redirect_to=${encodeURIComponent(redirectTo)}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
exports.authCheckinRouter.get('/auth/domains', async (context) => {
|
|
82
|
-
const { user } = context.state;
|
|
83
|
-
var domains = await (0, get_user_domains_1.getUserDomains)(user);
|
|
84
|
-
if (domainType) {
|
|
85
|
-
domains = domains.filter(d => d.extType == domainType);
|
|
86
|
-
}
|
|
87
|
-
context.body = domains;
|
|
88
|
-
});
|
|
89
|
-
async function checkIn(checkInDomain, redirectTo, context) {
|
|
90
|
-
const user = context.state.user;
|
|
91
|
-
await login_history_1.LoginHistory.stamp(checkInDomain, user, context.req.connection.remoteAddress);
|
|
92
|
-
if (redirectTo) {
|
|
93
|
-
return context.redirect((0, shell_1.getRedirectSubdomainPath)(context, checkInDomain.subdomain, redirectTo));
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=auth-checkin-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-checkin-router.js","sourceRoot":"","sources":["../../server/router/auth-checkin-router.ts"],"names":[],"mappings":"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"}
|