@things-factory/oauth2-client 4.3.671 → 4.3.672

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.
Files changed (43) hide show
  1. package/dist-server/controllers/index.js +1 -0
  2. package/dist-server/controllers/index.js.map +1 -0
  3. package/dist-server/entities/index.js +9 -0
  4. package/dist-server/entities/index.js.map +1 -0
  5. package/dist-server/entities/oauth2-client.js +190 -0
  6. package/dist-server/entities/oauth2-client.js.map +1 -0
  7. package/dist-server/graphql/index.js +34 -0
  8. package/dist-server/graphql/index.js.map +1 -0
  9. package/dist-server/graphql/resolvers/index.js +18 -0
  10. package/dist-server/graphql/resolvers/index.js.map +1 -0
  11. package/dist-server/graphql/resolvers/oauth2-client/create-oauth2-client.js +19 -0
  12. package/dist-server/graphql/resolvers/oauth2-client/create-oauth2-client.js.map +1 -0
  13. package/dist-server/graphql/resolvers/oauth2-client/delete-oauth2-client.js +12 -0
  14. package/dist-server/graphql/resolvers/oauth2-client/delete-oauth2-client.js.map +1 -0
  15. package/dist-server/graphql/resolvers/oauth2-client/delete-oauth2-clients.js +15 -0
  16. package/dist-server/graphql/resolvers/oauth2-client/delete-oauth2-clients.js.map +1 -0
  17. package/dist-server/graphql/resolvers/oauth2-client/get-oauth2-access-token.js +49 -0
  18. package/dist-server/graphql/resolvers/oauth2-client/get-oauth2-access-token.js.map +1 -0
  19. package/dist-server/graphql/resolvers/oauth2-client/index.js +15 -0
  20. package/dist-server/graphql/resolvers/oauth2-client/index.js.map +1 -0
  21. package/dist-server/graphql/resolvers/oauth2-client/oauth2-client-query.js +46 -0
  22. package/dist-server/graphql/resolvers/oauth2-client/oauth2-client-query.js.map +1 -0
  23. package/dist-server/graphql/resolvers/oauth2-client/refresh-oauth2-access-token.js +38 -0
  24. package/dist-server/graphql/resolvers/oauth2-client/refresh-oauth2-access-token.js.map +1 -0
  25. package/dist-server/graphql/resolvers/oauth2-client/update-oauth2-client.js +15 -0
  26. package/dist-server/graphql/resolvers/oauth2-client/update-oauth2-client.js.map +1 -0
  27. package/dist-server/graphql/types/index.js +18 -0
  28. package/dist-server/graphql/types/index.js.map +1 -0
  29. package/dist-server/graphql/types/oauth2-client/index.js +42 -0
  30. package/dist-server/graphql/types/oauth2-client/index.js.map +1 -0
  31. package/dist-server/graphql/types/oauth2-client/new-oauth2-client.js +30 -0
  32. package/dist-server/graphql/types/oauth2-client/new-oauth2-client.js.map +1 -0
  33. package/dist-server/graphql/types/oauth2-client/oauth2-client-list.js +14 -0
  34. package/dist-server/graphql/types/oauth2-client/oauth2-client-list.js.map +1 -0
  35. package/dist-server/graphql/types/oauth2-client/oauth2-client-patch.js +30 -0
  36. package/dist-server/graphql/types/oauth2-client/oauth2-client-patch.js.map +1 -0
  37. package/dist-server/graphql/types/oauth2-client/oauth2-client.js +38 -0
  38. package/dist-server/graphql/types/oauth2-client/oauth2-client.js.map +1 -0
  39. package/dist-server/index.js +20 -0
  40. package/dist-server/index.js.map +1 -0
  41. package/dist-server/routes.js +104 -0
  42. package/dist-server/routes.js.map +1 -0
  43. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Oauth2Client = exports.entities = void 0;
4
+ const oauth2_client_1 = require("./oauth2-client");
5
+ Object.defineProperty(exports, "Oauth2Client", { enumerable: true, get: function () { return oauth2_client_1.Oauth2Client; } });
6
+ exports.entities = [
7
+ oauth2_client_1.Oauth2Client
8
+ ];
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/entities/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAO7C,6FAPQ,4BAAY,OAOR;AALA,QAAA,QAAQ,GAAG;IACvB,4BAAY;CACZ,CAAA"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var _a, _b, _c;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.Oauth2Client = void 0;
14
+ const typeorm_1 = require("typeorm");
15
+ const shell_1 = require("@things-factory/shell");
16
+ const auth_base_1 = require("@things-factory/auth-base");
17
+ let Oauth2Client = class Oauth2Client {
18
+ getAuthHeaders() {
19
+ if (this.tokenType == 'bearer') {
20
+ return {
21
+ Authorization: `Bearer ${this.accessToken}`
22
+ };
23
+ }
24
+ else if (this.tokenType == 'basic' || !this.tokenType) {
25
+ const encoded = Buffer.from(`${this.username}:${this.password}`).toString('base64');
26
+ return {
27
+ Authorization: `Basic ${encoded}`
28
+ };
29
+ }
30
+ return {};
31
+ }
32
+ };
33
+ __decorate([
34
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
35
+ __metadata("design:type", String)
36
+ ], Oauth2Client.prototype, "id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
39
+ __metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
40
+ ], Oauth2Client.prototype, "domain", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)(),
43
+ __metadata("design:type", String)
44
+ ], Oauth2Client.prototype, "name", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({
47
+ nullable: true
48
+ }),
49
+ __metadata("design:type", String)
50
+ ], Oauth2Client.prototype, "description", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({
53
+ nullable: true
54
+ }),
55
+ __metadata("design:type", String)
56
+ ], Oauth2Client.prototype, "icon", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({
59
+ nullable: true
60
+ }),
61
+ __metadata("design:type", String)
62
+ ], Oauth2Client.prototype, "grantType", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.Column)({
65
+ nullable: true
66
+ }),
67
+ __metadata("design:type", String)
68
+ ], Oauth2Client.prototype, "clientId", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({
71
+ nullable: true
72
+ }),
73
+ __metadata("design:type", String)
74
+ ], Oauth2Client.prototype, "clientSecret", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({
77
+ nullable: true
78
+ }),
79
+ __metadata("design:type", String)
80
+ ], Oauth2Client.prototype, "accessTokenUrl", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.Column)({
83
+ nullable: true
84
+ }),
85
+ __metadata("design:type", String)
86
+ ], Oauth2Client.prototype, "authUrl", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({
89
+ nullable: true
90
+ }),
91
+ __metadata("design:type", String)
92
+ ], Oauth2Client.prototype, "callbackUrl", void 0);
93
+ __decorate([
94
+ (0, typeorm_1.Column)({
95
+ nullable: true
96
+ }),
97
+ __metadata("design:type", String)
98
+ ], Oauth2Client.prototype, "webhook", void 0);
99
+ __decorate([
100
+ (0, typeorm_1.Column)({
101
+ nullable: true
102
+ }),
103
+ __metadata("design:type", String)
104
+ ], Oauth2Client.prototype, "username", void 0);
105
+ __decorate([
106
+ (0, typeorm_1.Column)({
107
+ nullable: true
108
+ }),
109
+ __metadata("design:type", String)
110
+ ], Oauth2Client.prototype, "password", void 0);
111
+ __decorate([
112
+ (0, typeorm_1.Column)({
113
+ nullable: true
114
+ }),
115
+ __metadata("design:type", String)
116
+ ], Oauth2Client.prototype, "codeChallengeMethod", void 0);
117
+ __decorate([
118
+ (0, typeorm_1.Column)({
119
+ nullable: true
120
+ }),
121
+ __metadata("design:type", String)
122
+ ], Oauth2Client.prototype, "codeVerifier", void 0);
123
+ __decorate([
124
+ (0, typeorm_1.Column)({
125
+ nullable: true
126
+ }),
127
+ __metadata("design:type", String)
128
+ ], Oauth2Client.prototype, "scopes", void 0);
129
+ __decorate([
130
+ (0, typeorm_1.Column)({
131
+ nullable: true
132
+ }),
133
+ __metadata("design:type", String)
134
+ ], Oauth2Client.prototype, "accessToken", void 0);
135
+ __decorate([
136
+ (0, typeorm_1.Column)({
137
+ nullable: true
138
+ }),
139
+ __metadata("design:type", String)
140
+ ], Oauth2Client.prototype, "refreshToken", void 0);
141
+ __decorate([
142
+ (0, typeorm_1.Column)({
143
+ nullable: true
144
+ }),
145
+ __metadata("design:type", Date)
146
+ ], Oauth2Client.prototype, "expires", void 0);
147
+ __decorate([
148
+ (0, typeorm_1.Column)({
149
+ nullable: true
150
+ }),
151
+ __metadata("design:type", String)
152
+ ], Oauth2Client.prototype, "state", void 0);
153
+ __decorate([
154
+ (0, typeorm_1.Column)({
155
+ nullable: true
156
+ }),
157
+ __metadata("design:type", String)
158
+ ], Oauth2Client.prototype, "jwtToken", void 0);
159
+ __decorate([
160
+ (0, typeorm_1.Column)({
161
+ nullable: true
162
+ }),
163
+ __metadata("design:type", String)
164
+ ], Oauth2Client.prototype, "tokenType", void 0);
165
+ __decorate([
166
+ (0, typeorm_1.CreateDateColumn)(),
167
+ __metadata("design:type", Date)
168
+ ], Oauth2Client.prototype, "createdAt", void 0);
169
+ __decorate([
170
+ (0, typeorm_1.UpdateDateColumn)(),
171
+ __metadata("design:type", Date)
172
+ ], Oauth2Client.prototype, "updatedAt", void 0);
173
+ __decorate([
174
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
175
+ nullable: true
176
+ }),
177
+ __metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
178
+ ], Oauth2Client.prototype, "creator", void 0);
179
+ __decorate([
180
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
181
+ nullable: true
182
+ }),
183
+ __metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
184
+ ], Oauth2Client.prototype, "updater", void 0);
185
+ Oauth2Client = __decorate([
186
+ (0, typeorm_1.Entity)(),
187
+ (0, typeorm_1.Index)('ix_oauth2_client_0', (oauth2Client) => [oauth2Client.domain, oauth2Client.name], { unique: true })
188
+ ], Oauth2Client);
189
+ exports.Oauth2Client = Oauth2Client;
190
+ //# sourceMappingURL=oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-client.js","sourceRoot":"","sources":["../../server/entities/oauth2-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.schema = void 0;
27
+ const utils_1 = require("@things-factory/utils");
28
+ const resolvers = __importStar(require("./resolvers"));
29
+ const typeDefs = __importStar(require("./types"));
30
+ exports.schema = {
31
+ typeDefs,
32
+ resolvers: utils_1.deepMerge.apply(null, Object.values(resolvers))
33
+ };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/graphql/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AAEjD,uDAAwC;AACxC,kDAAmC;AAEtB,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,SAAS,EAAE,iBAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;CAC3D,CAAA"}
@@ -0,0 +1,18 @@
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("./oauth2-client"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOauth2Client = void 0;
4
+ const env_1 = require("@things-factory/env");
5
+ const typeorm_1 = require("typeorm");
6
+ const url_1 = require("url");
7
+ const entities_1 = require("../../../entities");
8
+ const protocol = env_1.config.get('protocol');
9
+ exports.createOauth2Client = {
10
+ async createOauth2Client(_, { oauth2Client }, context) {
11
+ const { origin } = context;
12
+ let url = new url_1.URL(origin);
13
+ url.protocol = protocol || url.protocol;
14
+ url.pathname = '/oauth2-client/callback';
15
+ const { domain, user } = context.state;
16
+ return await (0, typeorm_1.getRepository)(entities_1.Oauth2Client).save(Object.assign(Object.assign({}, oauth2Client), { callbackUrl: oauth2Client.callbackUrl || url.href, domain: domain, creator: user, updater: user }));
17
+ }
18
+ };
19
+ //# sourceMappingURL=create-oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-oauth2-client.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/create-oauth2-client.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,qCAAuC;AACvC,6BAAyB;AACzB,gDAAgD;AAChD,MAAM,QAAQ,GAAW,YAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AAElC,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAY;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,IAAI,GAAG,GAAQ,IAAI,SAAG,CAAC,MAAM,CAAC,CAAA;QAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvC,GAAG,CAAC,QAAQ,GAAG,yBAAyB,CAAA;QAExC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,OAAO,MAAM,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAC,IAAI,iCACxC,YAAY,KACf,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EACjD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteOauth2Client = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const entities_1 = require("../../../entities");
6
+ exports.deleteOauth2Client = {
7
+ async deleteOauth2Client(_, { id }, context) {
8
+ await (0, typeorm_1.getRepository)(entities_1.Oauth2Client).delete({ domain: context.state.domain, id });
9
+ return true;
10
+ }
11
+ };
12
+ //# sourceMappingURL=delete-oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-oauth2-client.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/delete-oauth2-client.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,gDAAgD;AAEnC,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QACnD,MAAM,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9E,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteOauth2Clients = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const entities_1 = require("../../../entities");
6
+ exports.deleteOauth2Clients = {
7
+ async deleteOauth2Clients(_, { ids }, context) {
8
+ await (0, typeorm_1.getRepository)(entities_1.Oauth2Client).delete({
9
+ domain: context.state.domain,
10
+ id: (0, typeorm_1.In)(ids)
11
+ });
12
+ return true;
13
+ }
14
+ };
15
+ //# sourceMappingURL=delete-oauth2-clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-oauth2-clients.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/delete-oauth2-clients.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,gDAAgD;AAEnC,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAAE,EAAE,GAAG,EAAE,EAAE,OAAY;QACrD,MAAM,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACd,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
@@ -0,0 +1,49 @@
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.getOauth2AccessToken = void 0;
7
+ const client_oauth2_1 = __importDefault(require("client-oauth2"));
8
+ const typeorm_1 = require("typeorm");
9
+ const entities_1 = require("../../../entities");
10
+ const debug = require('debug')('thins-factory:oauth2-client:get-oauth2-access-token');
11
+ exports.getOauth2AccessToken = {
12
+ async getOauth2AccessToken(_, { id }, context) {
13
+ const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
14
+ const oauth2Client = await repository.findOne(id);
15
+ const { grantType, clientId, clientSecret, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, username, password, jwtToken, scopes } = oauth2Client;
16
+ var auth = new client_oauth2_1.default({
17
+ clientId,
18
+ clientSecret,
19
+ accessTokenUri,
20
+ authorizationUri,
21
+ scopes: scopes.split(' ')
22
+ });
23
+ debug('grant-type', grantType);
24
+ var getTokenParams = [];
25
+ switch (grantType) {
26
+ case 'owner':
27
+ getTokenParams = [username, password];
28
+ break;
29
+ case 'credentials':
30
+ getTokenParams = [];
31
+ break;
32
+ case 'jwt':
33
+ getTokenParams = [jwtToken];
34
+ break;
35
+ case 'code':
36
+ default:
37
+ throw new Error(`unsupported grant type: ${grantType}`);
38
+ }
39
+ const token = await auth[grantType].getToken.call(auth[grantType], getTokenParams);
40
+ const { tokenType: newTokenType, accessToken, refreshToken, data } = token;
41
+ 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;
42
+ return await repository.save(Object.assign(Object.assign({}, oauth2Client), { tokenType: newTokenType, accessToken,
43
+ refreshToken,
44
+ expires
45
+ // state: ''
46
+ }));
47
+ }
48
+ };
49
+ //# sourceMappingURL=get-oauth2-access-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-oauth2-access-token.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/get-oauth2-access-token.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AAExC,qCAAuC;AACvC,gDAAgD;AAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qDAAqD,CAAC,CAAA;AAExE,QAAA,oBAAoB,GAAG;IAClC,KAAK,CAAC,oBAAoB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QACrD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEjD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACP,GAAG,YAAY,CAAA;QAEhB,IAAI,IAAI,GAAG,IAAI,uBAAY,CAAC;YAC1B,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;SAC1B,CAAC,CAAA;QAEF,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAE9B,IAAI,cAAc,GAAG,EAAE,CAAA;QACvB,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO;gBACV,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBACrC,MAAK;YACP,KAAK,aAAa;gBAChB,cAAc,GAAG,EAAE,CAAA;gBACnB,MAAK;YACP,KAAK,KAAK;gBACR,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC3B,MAAK;YACP,KAAK,MAAM,CAAC;YACZ;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAA;SAC1D;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAA;QAClF,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC1E,MAAM,OAAO,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAElF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,YAAY,KACf,SAAS,EAAE,YAAY,EACvB,WAAW;YACX,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Oauth2ClientResolver = void 0;
4
+ const oauth2_client_query_1 = require("./oauth2-client-query");
5
+ const update_oauth2_client_1 = require("./update-oauth2-client");
6
+ const create_oauth2_client_1 = require("./create-oauth2-client");
7
+ const delete_oauth2_client_1 = require("./delete-oauth2-client");
8
+ const delete_oauth2_clients_1 = require("./delete-oauth2-clients");
9
+ const get_oauth2_access_token_1 = require("./get-oauth2-access-token");
10
+ const refresh_oauth2_access_token_1 = require("./refresh-oauth2-access-token");
11
+ exports.Oauth2ClientResolver = {
12
+ Query: oauth2_client_query_1.Query,
13
+ Mutation: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, update_oauth2_client_1.updateOauth2Client), create_oauth2_client_1.createOauth2Client), delete_oauth2_client_1.deleteOauth2Client), delete_oauth2_clients_1.deleteOauth2Clients), get_oauth2_access_token_1.getOauth2AccessToken), refresh_oauth2_access_token_1.refreshOauth2AccessToken)
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/index.ts"],"names":[],"mappings":";;;AAAA,+DAA6C;AAE7C,iEAA2D;AAC3D,iEAA2D;AAC3D,iEAA2D;AAC3D,mEAA6D;AAE7D,uEAAgE;AAChE,+EAAwE;AAE3D,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAL,2BAAK;IACL,QAAQ,0FACH,yCAAkB,GAClB,yCAAkB,GAClB,yCAAkB,GAClB,2CAAmB,GACnB,8CAAoB,GACpB,sDAAwB,CAC5B;CACF,CAAA"}
@@ -0,0 +1,46 @@
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.Query = void 0;
7
+ const shell_1 = require("@things-factory/shell");
8
+ const client_oauth2_1 = __importDefault(require("client-oauth2"));
9
+ const typeorm_1 = require("typeorm");
10
+ const crypto_1 = __importDefault(require("crypto"));
11
+ const entities_1 = require("../../../entities");
12
+ exports.Query = {
13
+ async oauth2Client(_, { id }, context) {
14
+ const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
15
+ return await repository.findOne({
16
+ where: { domain: context.state.domain, id },
17
+ relations: ['domain', 'creator', 'updater']
18
+ });
19
+ },
20
+ async oauth2Clients(_, params, context) {
21
+ const convertedParams = (0, shell_1.convertListParams)(params);
22
+ const [items, total] = await (0, typeorm_1.getRepository)(entities_1.Oauth2Client).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'creator', 'updater'] }));
23
+ return { items, total };
24
+ },
25
+ async getOauth2AuthUrl(_, { id }, context) {
26
+ const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
27
+ const oauth2Client = await repository.findOne(id);
28
+ const { grantType, clientId, clientSecret, callbackUrl, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, scopes } = oauth2Client;
29
+ if (grantType !== 'code') {
30
+ throw new Error(`unsupported grant type: ${grantType}`);
31
+ }
32
+ const state = crypto_1.default.randomBytes(16).toString('hex');
33
+ await repository.save(Object.assign(Object.assign({}, oauth2Client), { state }));
34
+ var auth = new client_oauth2_1.default({
35
+ clientId,
36
+ clientSecret,
37
+ accessTokenUri,
38
+ authorizationUri,
39
+ redirectUri: callbackUrl || `${context.origin}/oauth2-client/callback`,
40
+ scopes: (scopes === null || scopes === void 0 ? void 0 : scopes.split(' ')) || [],
41
+ state
42
+ });
43
+ return await auth[grantType].getUri();
44
+ }
45
+ };
46
+ //# sourceMappingURL=oauth2-client-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-client-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/oauth2-client-query.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAoE;AACpE,kEAAwC;AACxC,qCAAuC;AACvC,oDAA2B;AAC3B,gDAAgD;AAEnC,QAAA,KAAK,GAAG;IACnB,KAAK,CAAC,YAAY,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QAC7C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAA;QAE9C,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE;YAC3C,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACzD,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAC,YAAY,iCAChE,eAAe,KAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAC3C,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QACjD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEjD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EACP,GAAG,YAAY,CAAA;QAEhB,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAA;SACxD;QAED,MAAM,KAAK,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,UAAU,CAAC,IAAI,iCAChB,YAAY,KACf,KAAK,IACL,CAAA;QAEF,IAAI,IAAI,GAAG,IAAI,uBAAY,CAAC;YAC1B,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,WAAW,EAAE,WAAW,IAAI,GAAG,OAAO,CAAC,MAAM,yBAAyB;YACtE,MAAM,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE;YAChC,KAAK;SACN,CAAC,CAAA;QAEF,OAAO,MAAO,IAAI,CAAC,SAAS,CAAS,CAAC,MAAM,EAAE,CAAA;IAChD,CAAC;CACF,CAAA"}
@@ -0,0 +1,38 @@
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.refreshOauth2AccessToken = void 0;
7
+ const client_oauth2_1 = __importDefault(require("client-oauth2"));
8
+ const typeorm_1 = require("typeorm");
9
+ const entities_1 = require("../../../entities");
10
+ const debug = require('debug')('things-factory:oauth2-client:refresh-oauth2-access-token');
11
+ exports.refreshOauth2AccessToken = {
12
+ async refreshOauth2AccessToken(_, { id }, context) {
13
+ const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
14
+ const oauth2Client = await repository.findOne(id);
15
+ const { clientId, clientSecret, accessTokenUrl: accessTokenUri, authUrl: authorizationUri, scopes, tokenType, accessToken, refreshToken } = oauth2Client;
16
+ if (!refreshToken) {
17
+ throw new Error('refreshToken not found');
18
+ }
19
+ var auth = new client_oauth2_1.default({
20
+ clientId,
21
+ clientSecret,
22
+ accessTokenUri,
23
+ authorizationUri,
24
+ scopes: scopes === null || scopes === void 0 ? void 0 : scopes.split(' ')
25
+ });
26
+ try {
27
+ var token = await auth.createToken(accessToken, refreshToken, tokenType, {}).refresh();
28
+ }
29
+ catch (err) {
30
+ debug('getting refresh-token error', err);
31
+ throw err;
32
+ }
33
+ const { accessToken: newAccessToken, refreshToken: newRefreshToken, tokenType: newTokenType, data } = token;
34
+ 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;
35
+ return await repository.save(Object.assign(Object.assign({}, oauth2Client), { accessToken: newAccessToken, refreshToken: newRefreshToken, tokenType: newTokenType, expires }));
36
+ }
37
+ };
38
+ //# sourceMappingURL=refresh-oauth2-access-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-oauth2-access-token.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/refresh-oauth2-access-token.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AAExC,qCAAuC;AACvC,gDAAgD;AAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,0DAA0D,CAAC,CAAA;AAE7E,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QACzD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEjD,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACb,GAAG,YAAY,CAAA;QAEhB,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;SAC1C;QAED,IAAI,IAAI,GAAG,IAAI,uBAAY,CAAC;YAC1B,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,MAAM,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI;YACF,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;SACvF;QAAC,OAAO,GAAG,EAAE;YACZ,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;YACzC,MAAM,GAAG,CAAA;SACV;QAED,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC3G,MAAM,OAAO,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAElF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,YAAY,KACf,WAAW,EAAE,cAAc,EAC3B,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,YAAY,EACvB,OAAO,IACP,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateOauth2Client = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const entities_1 = require("../../../entities");
6
+ exports.updateOauth2Client = {
7
+ async updateOauth2Client(_, { id, patch }, context) {
8
+ const repository = (0, typeorm_1.getRepository)(entities_1.Oauth2Client);
9
+ const oauth2Client = await repository.findOne({
10
+ where: { domain: context.state.domain, id }
11
+ });
12
+ return await repository.save(Object.assign(Object.assign(Object.assign({}, oauth2Client), patch), { updater: context.state.user }));
13
+ }
14
+ };
15
+ //# sourceMappingURL=update-oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-oauth2-client.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2-client/update-oauth2-client.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,gDAAgD;AAEnC,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAY;QAC1D,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,uBAAY,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE;SAC5C,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,YAAY,GACZ,KAAK,KACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,18 @@
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("./oauth2-client"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B"}
@@ -0,0 +1,42 @@
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.Oauth2ClientResolver = void 0;
21
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
22
+ __exportStar(require("./oauth2-client"), exports);
23
+ __exportStar(require("./new-oauth2-client"), exports);
24
+ __exportStar(require("./oauth2-client-patch"), exports);
25
+ __exportStar(require("./oauth2-client-list"), exports);
26
+ exports.Oauth2ClientResolver = (0, graphql_tag_1.default) `
27
+ extend type Mutation {
28
+ createOauth2Client(oauth2Client: NewOauth2Client!): Oauth2Client
29
+ updateOauth2Client(id: String!, patch: Oauth2ClientPatch!): Oauth2Client
30
+ deleteOauth2Client(id: String!): Boolean
31
+ deleteOauth2Clients(ids: [String]!): Boolean
32
+ getOauth2AccessToken(id: String!): Oauth2Client
33
+ refreshOauth2AccessToken(id: String!): Oauth2Client
34
+ }
35
+
36
+ extend type Query {
37
+ oauth2Clients(filters: [Filter], pagination: Pagination, sortings: [Sorting]): Oauth2ClientList
38
+ oauth2Client(id: String!): Oauth2Client
39
+ getOauth2AuthUrl(id: String!): String
40
+ }
41
+ `;
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/oauth2-client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAA6B;AAE7B,kDAA+B;AAC/B,sDAAmC;AACnC,wDAAqC;AACrC,uDAAoC;AAEvB,QAAA,oBAAoB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;CAetC,CAAA"}
@@ -0,0 +1,30 @@
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.NewOauth2Client = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ exports.NewOauth2Client = (0, graphql_tag_1.default) `
9
+ input NewOauth2Client {
10
+ name: String
11
+ description: String
12
+ icon: String
13
+ grantType: String
14
+ clientId: String
15
+ clientSecret: String
16
+ callbackUrl: String
17
+ authUrl: String
18
+ accessTokenUrl: String
19
+ webhook: String
20
+ username: String
21
+ password: String
22
+ codeChallengeMethod: String
23
+ codeVerifier: String
24
+ scopes: String
25
+ accessToken: String
26
+ refreshToken: String
27
+ jwtToken: String
28
+ }
29
+ `;
30
+ //# sourceMappingURL=new-oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-oauth2-client.js","sourceRoot":"","sources":["../../../../server/graphql/types/oauth2-client/new-oauth2-client.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,eAAe,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;CAqBjC,CAAA"}
@@ -0,0 +1,14 @@
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.Oauth2ClientList = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ exports.Oauth2ClientList = (0, graphql_tag_1.default) `
9
+ type Oauth2ClientList {
10
+ items: [Oauth2Client]
11
+ total: Int
12
+ }
13
+ `;
14
+ //# sourceMappingURL=oauth2-client-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-client-list.js","sourceRoot":"","sources":["../../../../server/graphql/types/oauth2-client/oauth2-client-list.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,gBAAgB,GAAG,IAAA,qBAAG,EAAA;;;;;CAKlC,CAAA"}
@@ -0,0 +1,30 @@
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.Oauth2ClientPatch = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ exports.Oauth2ClientPatch = (0, graphql_tag_1.default) `
9
+ input Oauth2ClientPatch {
10
+ name: String
11
+ description: String
12
+ icon: String
13
+ grantType: String
14
+ clientId: String
15
+ clientSecret: String
16
+ callbackUrl: String
17
+ authUrl: String
18
+ accessTokenUrl: String
19
+ webhook: String
20
+ username: String
21
+ password: String
22
+ codeChallengeMethod: String
23
+ codeVerifier: String
24
+ scopes: String
25
+ accessToken: String
26
+ refreshToken: String
27
+ jwtToken: String
28
+ }
29
+ `;
30
+ //# sourceMappingURL=oauth2-client-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-client-patch.js","sourceRoot":"","sources":["../../../../server/graphql/types/oauth2-client/oauth2-client-patch.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;CAqBnC,CAAA"}
@@ -0,0 +1,38 @@
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.Oauth2Client = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ exports.Oauth2Client = (0, graphql_tag_1.default) `
9
+ type Oauth2Client {
10
+ id: String
11
+ domain: Domain
12
+ name: String
13
+ description: String
14
+ icon: String
15
+ grantType: String
16
+ clientId: String
17
+ clientSecret: String
18
+ callbackUrl: String
19
+ authUrl: String
20
+ accessTokenUrl: String
21
+ webhook: String
22
+ username: String
23
+ password: String
24
+ codeChallengeMethod: String
25
+ codeVerifier: String
26
+ scopes: String
27
+ accessToken: String
28
+ refreshToken: String
29
+ expires: String
30
+ jwtToken: String
31
+ tokenType: String
32
+ updater: User
33
+ creator: User
34
+ updatedAt: String
35
+ createdAt: String
36
+ }
37
+ `;
38
+ //# sourceMappingURL=oauth2-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-client.js","sourceRoot":"","sources":["../../../../server/graphql/types/oauth2-client/oauth2-client.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,YAAY,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B9B,CAAA"}
@@ -0,0 +1,20 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AAEzB,oBAAiB"}
@@ -0,0 +1,104 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/oauth2-client",
3
- "version": "4.3.671",
3
+ "version": "4.3.672",
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.671",
32
- "@things-factory/layout-base": "^4.3.671",
33
- "@things-factory/shell": "^4.3.671",
31
+ "@things-factory/auth-base": "^4.3.672",
32
+ "@things-factory/layout-base": "^4.3.672",
33
+ "@things-factory/shell": "^4.3.672",
34
34
  "client-oauth2": "^4.3.3",
35
35
  "clipboard": "^2.0.6"
36
36
  },
37
- "gitHead": "ef524cb207378186ec71917d9a8546363d4300b2"
37
+ "gitHead": "e15764fbf19b0a3c8408d907fc1dcff13bc0a933"
38
38
  }