@things-factory/oauth2-client 4.3.378 → 4.3.380
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/oauth2-client",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.380",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"@operato/layout": "^0.4.6",
|
|
29
29
|
"@operato/shell": "^0.4.6",
|
|
30
30
|
"@operato/utils": "^0.4.6",
|
|
31
|
-
"@things-factory/auth-base": "^4.3.
|
|
32
|
-
"@things-factory/layout-base": "^4.3.
|
|
33
|
-
"@things-factory/shell": "^4.3.
|
|
31
|
+
"@things-factory/auth-base": "^4.3.380",
|
|
32
|
+
"@things-factory/layout-base": "^4.3.380",
|
|
33
|
+
"@things-factory/shell": "^4.3.380",
|
|
34
34
|
"client-oauth2": "^4.3.3",
|
|
35
35
|
"clipboard": "^2.0.6"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "675ea67e85a7ee10bee7639d92e0bf3eda8c48d1"
|
|
38
38
|
}
|
package/dist-server/index 3.js
DELETED
|
@@ -1,20 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./entities"), exports);
|
|
18
|
-
__exportStar(require("./graphql"), exports);
|
|
19
|
-
require("./routes");
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AAEzB,oBAAiB"}
|
package/dist-server/routes 3.js
DELETED
|
@@ -1,104 +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
|
-
const client_oauth2_1 = __importDefault(require("client-oauth2"));
|
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
|
8
|
-
const typeorm_1 = require("typeorm");
|
|
9
|
-
const entities_1 = require("./entities");
|
|
10
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
-
const debug = require('debug')('things-factory:oauth2-client:routes');
|
|
12
|
-
process.on('bootstrap-module-domain-private-route', (app, domainPrivateRouter) => {
|
|
13
|
-
domainPrivateRouter.get('/oauth2-client/:id/auth-uri', async (context, next) => {
|
|
14
|
-
const { params, origin } = context;
|
|
15
|
-
const { id } = params;
|
|
16
|
-
const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
|
|
17
|
-
const oauth2Client = await repository.findOne(id);
|
|
18
|
-
const { grantType, clientId, clientSecret, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, scopes } = oauth2Client;
|
|
19
|
-
if (grantType !== 'code') {
|
|
20
|
-
throw new Error(`unsupported grant type: ${grantType}`);
|
|
21
|
-
}
|
|
22
|
-
const state = crypto_1.default.randomBytes(16).toString('hex');
|
|
23
|
-
await repository.save(Object.assign(Object.assign({}, oauth2Client), { state }));
|
|
24
|
-
var auth = new client_oauth2_1.default({
|
|
25
|
-
clientId,
|
|
26
|
-
clientSecret,
|
|
27
|
-
accessTokenUri,
|
|
28
|
-
authorizationUri,
|
|
29
|
-
redirectUri: `${origin}/oauth2-client/callback`,
|
|
30
|
-
scopes: (scopes === null || scopes === void 0 ? void 0 : scopes.split(' ')) || [],
|
|
31
|
-
state
|
|
32
|
-
});
|
|
33
|
-
context.status = 200;
|
|
34
|
-
context.body = await auth.code.getUri();
|
|
35
|
-
});
|
|
36
|
-
domainPrivateRouter.get('/oauth2-client/:id/refresh', async (context, next) => {
|
|
37
|
-
const { params } = context;
|
|
38
|
-
const { id } = params;
|
|
39
|
-
debug('refresh', 'started');
|
|
40
|
-
const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
|
|
41
|
-
const oauth2Client = await repository.findOne(id);
|
|
42
|
-
const { grantType, clientId, clientSecret, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, scopes, tokenType, accessToken, refreshToken } = oauth2Client;
|
|
43
|
-
if (!refreshToken) {
|
|
44
|
-
context.status = 404;
|
|
45
|
-
context.body = 'refreshToken not found';
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
var auth = new client_oauth2_1.default({
|
|
49
|
-
clientId,
|
|
50
|
-
clientSecret,
|
|
51
|
-
accessTokenUri,
|
|
52
|
-
authorizationUri,
|
|
53
|
-
scopes: (scopes === null || scopes === void 0 ? void 0 : scopes.split(' ')) || []
|
|
54
|
-
});
|
|
55
|
-
const { accessToken: newAccessToken, refreshToken: newRefreshToken } = await auth
|
|
56
|
-
.createToken(accessToken, refreshToken, tokenType, {})
|
|
57
|
-
.refresh();
|
|
58
|
-
debug('refresh', 'done');
|
|
59
|
-
context.status = 200;
|
|
60
|
-
context.body = await repository.save(Object.assign(Object.assign({}, oauth2Client), { accessToken: newAccessToken, refreshToken: newRefreshToken, state: '' }));
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
process.on('bootstrap-module-domain-public-route', (app, domainPublicRouter) => {
|
|
64
|
-
domainPublicRouter.get('/oauth2-client/callback', async (context, next) => {
|
|
65
|
-
const { state } = context.query;
|
|
66
|
-
const { originalUrl } = context;
|
|
67
|
-
const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
|
|
68
|
-
const oauth2Client = await repository.findOne({
|
|
69
|
-
state
|
|
70
|
-
}, {
|
|
71
|
-
relations: ['domain']
|
|
72
|
-
});
|
|
73
|
-
const { domain, id, grantType, clientId, clientSecret, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, scopes } = oauth2Client;
|
|
74
|
-
var auth = new client_oauth2_1.default({
|
|
75
|
-
clientId,
|
|
76
|
-
clientSecret,
|
|
77
|
-
accessTokenUri,
|
|
78
|
-
authorizationUri,
|
|
79
|
-
scopes: (scopes === null || scopes === void 0 ? void 0 : scopes.split(' ')) || []
|
|
80
|
-
});
|
|
81
|
-
var url = originalUrl;
|
|
82
|
-
switch (grantType) {
|
|
83
|
-
case 'credentials':
|
|
84
|
-
break;
|
|
85
|
-
case 'jwt':
|
|
86
|
-
break;
|
|
87
|
-
case 'code':
|
|
88
|
-
break;
|
|
89
|
-
case 'owner':
|
|
90
|
-
default:
|
|
91
|
-
throw new Error(`unsupported grant type: ${grantType}`);
|
|
92
|
-
}
|
|
93
|
-
const token = await auth.code.getToken(originalUrl);
|
|
94
|
-
debug('token', token);
|
|
95
|
-
const { tokenType, accessToken, refreshToken, data } = token;
|
|
96
|
-
const expires = (data === null || data === void 0 ? void 0 : data.expires_in) ? token.expiresIn(data === null || data === void 0 ? void 0 : data.expires_in) : null;
|
|
97
|
-
await repository.save(Object.assign(Object.assign({}, oauth2Client), { tokenType,
|
|
98
|
-
accessToken,
|
|
99
|
-
refreshToken,
|
|
100
|
-
expires, scopes: data === null || data === void 0 ? void 0 : data.scope.replace(',', ' '), state: '' }));
|
|
101
|
-
context.redirect((0, shell_1.getRedirectSubdomainPath)(context, domain === null || domain === void 0 ? void 0 : domain.subdomain, `/oauth2-client/${id}`));
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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"}
|