@builder6/oidc-provider 0.16.3-alpha.2 → 0.16.3-alpha.21

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.
@@ -6,9 +6,10 @@ export declare class OidcProviderController {
6
6
  private readonly authService;
7
7
  private engine;
8
8
  constructor(oidcService: OidcProviderService, authService: AuthService);
9
- showInteraction(uid: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
9
+ showInteraction(uid: string, req: Request, res: Response): Promise<any>;
10
10
  loginSubmit(uid: string, username: string, password: string, req: Request, res: Response): Promise<any>;
11
11
  consentSubmit(uid: string, grantDecision: string, req: Request, res: Response): Promise<any>;
12
12
  consentSubmitAbort(uid: string, grantDecision: string, req: Request, res: Response): Promise<void>;
13
+ authJWT(appId: string, request: string, state: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
13
14
  mountedOidc(req: Request, res: Response): void;
14
15
  }
@@ -22,6 +22,7 @@ const node_assert_1 = require("node:assert");
22
22
  const core_1 = require("@builder6/core");
23
23
  const liquidjs_1 = require("liquidjs");
24
24
  const path_1 = __importDefault(require("path"));
25
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
25
26
  let OidcProviderController = class OidcProviderController {
26
27
  constructor(oidcService, authService) {
27
28
  this.oidcService = oidcService;
@@ -34,6 +35,28 @@ let OidcProviderController = class OidcProviderController {
34
35
  async showInteraction(uid, req, res) {
35
36
  const interaction = await this.oidcService.provider.interactionDetails(req, res);
36
37
  const { prompt, params } = interaction;
38
+ const token = this.authService.extractTokenFromHeaderOrCookie(req);
39
+ if (token) {
40
+ const userSession = await this.authService.getUserByToken(token);
41
+ if (userSession) {
42
+ let accountId = userSession.user;
43
+ const grant = new this.oidcService.provider.Grant({
44
+ accountId,
45
+ clientId: params.client_id,
46
+ });
47
+ grant.addOIDCScope('openid email profile');
48
+ const grantId = await grant.save();
49
+ const result = {
50
+ login: { accountId },
51
+ consent: {
52
+ grantId,
53
+ },
54
+ };
55
+ return this.oidcService.provider.interactionFinished(req, res, result, {
56
+ mergeWithLastSubmission: false,
57
+ });
58
+ }
59
+ }
37
60
  if (prompt.name === 'login') {
38
61
  const data = { uid, params };
39
62
  const rendered = await this.engine.renderFile('login', data);
@@ -141,8 +164,41 @@ let OidcProviderController = class OidcProviderController {
141
164
  res.status(500).send('OIDC Server Error');
142
165
  }
143
166
  }
167
+ async authJWT(appId, request, state, req, res) {
168
+ try {
169
+ const client = this.oidcService.getClientById(appId);
170
+ if (!client) {
171
+ return res.status(404).send(`App not found: ${appId}`);
172
+ }
173
+ jsonwebtoken_1.default.verify(request, client.client_secret);
174
+ const decodedRequest = jsonwebtoken_1.default.decode(request);
175
+ const token = this.authService.extractTokenFromHeaderOrCookie(req);
176
+ if (token) {
177
+ const userSession = await this.authService.getUserByToken(token);
178
+ if (userSession) {
179
+ const response = jsonwebtoken_1.default.sign({
180
+ aud: decodedRequest['iss'],
181
+ iss: 'steedos',
182
+ type: 'sso_res',
183
+ username: userSession.username,
184
+ redirect_uri: client.url,
185
+ }, client.client_secret, {
186
+ algorithm: 'HS256',
187
+ expiresIn: '1m',
188
+ });
189
+ const redirectUrl = `${client.callback_url}?response=${response}&state=${state}`;
190
+ res.redirect(redirectUrl);
191
+ }
192
+ }
193
+ return res.status(401).send('Unauthorized');
194
+ }
195
+ catch (err) {
196
+ console.error(err);
197
+ res.status(500).send('JWT Server Error: ' + err.message);
198
+ }
199
+ }
144
200
  mountedOidc(req, res) {
145
- req.url = req.originalUrl.replace('/api/v6/idp/common', '');
201
+ req.url = req.originalUrl.replace(/^\/api\/v6\/idp\/[^/]+/, '');
146
202
  const callback = this.oidcService.getCallback();
147
203
  if (!callback) {
148
204
  res.status(404).send('Not Found');
@@ -158,7 +214,7 @@ let OidcProviderController = class OidcProviderController {
158
214
  };
159
215
  exports.OidcProviderController = OidcProviderController;
160
216
  __decorate([
161
- (0, common_1.Get)('interaction/:uid'),
217
+ (0, common_1.Get)(':tenantId/interaction/:uid'),
162
218
  __param(0, (0, common_1.Param)('uid')),
163
219
  __param(1, (0, common_1.Req)()),
164
220
  __param(2, (0, common_1.Res)()),
@@ -167,7 +223,7 @@ __decorate([
167
223
  __metadata("design:returntype", Promise)
168
224
  ], OidcProviderController.prototype, "showInteraction", null);
169
225
  __decorate([
170
- (0, common_1.Post)('interaction/:uid/login'),
226
+ (0, common_1.Post)(':tenantId/interaction/:uid/login'),
171
227
  __param(0, (0, common_1.Param)('uid')),
172
228
  __param(1, (0, common_1.Body)('username')),
173
229
  __param(2, (0, common_1.Body)('password')),
@@ -178,7 +234,7 @@ __decorate([
178
234
  __metadata("design:returntype", Promise)
179
235
  ], OidcProviderController.prototype, "loginSubmit", null);
180
236
  __decorate([
181
- (0, common_1.Post)('interaction/:uid/confirm'),
237
+ (0, common_1.Post)(':tenantId/interaction/:uid/confirm'),
182
238
  __param(0, (0, common_1.Param)('uid')),
183
239
  __param(1, (0, common_1.Body)('grant')),
184
240
  __param(2, (0, common_1.Req)()),
@@ -188,7 +244,7 @@ __decorate([
188
244
  __metadata("design:returntype", Promise)
189
245
  ], OidcProviderController.prototype, "consentSubmit", null);
190
246
  __decorate([
191
- (0, common_1.Post)('interaction/:uid/abort'),
247
+ (0, common_1.Post)(':tenantId/interaction/:uid/abort'),
192
248
  __param(0, (0, common_1.Param)('uid')),
193
249
  __param(1, (0, common_1.Body)('grant')),
194
250
  __param(2, (0, common_1.Req)()),
@@ -198,7 +254,18 @@ __decorate([
198
254
  __metadata("design:returntype", Promise)
199
255
  ], OidcProviderController.prototype, "consentSubmitAbort", null);
200
256
  __decorate([
201
- (0, common_1.All)('/*idp'),
257
+ (0, common_1.Get)(':tenantId/jwt/:appId'),
258
+ __param(0, (0, common_1.Param)('appId')),
259
+ __param(1, (0, common_1.Query)('request')),
260
+ __param(2, (0, common_1.Query)('state')),
261
+ __param(3, (0, common_1.Req)()),
262
+ __param(4, (0, common_1.Res)()),
263
+ __metadata("design:type", Function),
264
+ __metadata("design:paramtypes", [String, String, String, Object, Object]),
265
+ __metadata("design:returntype", Promise)
266
+ ], OidcProviderController.prototype, "authJWT", null);
267
+ __decorate([
268
+ (0, common_1.All)(':tenantId/*idp'),
202
269
  __param(0, (0, common_1.Req)()),
203
270
  __param(1, (0, common_1.Res)()),
204
271
  __metadata("design:type", Function),
@@ -206,7 +273,7 @@ __decorate([
206
273
  __metadata("design:returntype", void 0)
207
274
  ], OidcProviderController.prototype, "mountedOidc", null);
208
275
  exports.OidcProviderController = OidcProviderController = __decorate([
209
- (0, common_1.Controller)('api/v6/idp/common'),
276
+ (0, common_1.Controller)('api/v6/idp'),
210
277
  __metadata("design:paramtypes", [oidc_provider_service_1.OidcProviderService,
211
278
  core_1.AuthService])
212
279
  ], OidcProviderController);
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-provider.controller.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc-provider.controller.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAUwB;AAExB,mEAA8D;AAC9D,6CAA+C;AAC/C,yCAA6C;AAC7C,uCAAkC;AAClC,gDAAwB;AAExB,gEAA+B;AAGxB,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAGjC,YACmB,WAAgC,EAChC,WAAwB;QADxB,gBAAW,GAAX,WAAW,CAAqB;QAChC,gBAAW,GAAX,WAAW,CAAa;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAM,CAAC;YACvB,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;YAC5C,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;IACL,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CACL,GAAW,EAClB,GAAY,EACZ,GAAa;QAIpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CACpE,GAAG,EACH,GAAG,CACJ,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,WAAW,EAAE,CAAC;gBAahB,IAAI,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAChD,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,SAAS;iBAC3B,CAAC,CAAC;gBACH,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;gBAE3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;gBAEnC,MAAM,MAAM,GAAG;oBACb,KAAK,EAAE,EAAE,SAAS,EAAE;oBACpB,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF,CAAC;gBACF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;oBACrE,uBAAuB,EAAE,KAAK;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAG5B,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAcjC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAErC,OAAO,GAAG,CAAC,IAAI,CAAC;;;;6BAIO,MAAM,CAAC,SAAS;gDACG,MAAM,CAAC,KAAK,IAAI,KAAK;;yEAEI,GAAG;;;yEAGH,GAAG;;;;;OAKrE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YAEN,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CACD,GAAW,EACP,QAAgB,EAChB,QAAgB,EAC3B,GAAY,EACZ,GAAa;QAGpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YAEf,OAAO,GAAG,CAAC,QAAQ,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAGtC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChD,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,EAAE,SAAS,EAAE;YACpB,OAAO,EAAE;gBACP,OAAO;aACR;SACF,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;YACrE,uBAAuB,EAAE,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CACH,GAAW,EACV,aAAqB,EAC7B,GAAY,EACZ,GAAa;QAEpB,IAAI,CAAC;YAEH,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,MAAM,EACJ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EACzB,MAAM,EACN,OAAO,EAAE,EAAE,SAAS,EAAE,GACvB,GAAG,kBAAkB,CAAC;YACvB,oBAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAE9B,IAAI,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC;YACrC,IAAI,KAAK,CAAC;YAEV,IAAI,OAAO,EAAE,CAAC;gBAEZ,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBAEN,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC1C,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,SAAS;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAClC,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAC9C,OAAO,CAAC,qBAAqB,CAC9B,EAAE,CAAC;oBACF,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAG,MAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YAE7B,MAAM,OAAO,GAAG,EAAS,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAEhC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CACxD,GAAG,EACH,GAAG,EACH,MAAM,EACN;gBACE,uBAAuB,EAAE,IAAI;aAC9B,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB,CACR,GAAW,EACV,aAAqB,EAC7B,GAAY,EACZ,GAAa;QAEpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,eAAe;gBACtB,iBAAiB,EAAE,8BAA8B;aAClD,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;gBACpE,uBAAuB,EAAE,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,OAAO,CACK,KAAa,EACX,OAAe,EACjB,KAAa,EACtB,GAAY,EACZ,GAAa;QAEpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,sBAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,sBAAG,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;YAErD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;YACnE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,QAAQ,GAAG,sBAAG,CAAC,IAAI,CAAC;wBACxB,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC;wBAC1B,GAAG,EAAE,SAAS;wBACd,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,YAAY,EAAE,MAAM,CAAC,GAAG;qBACzB,EAAE,MAAM,CAAC,aAAa,EAAE;wBACvB,SAAS,EAAE,OAAO;wBAClB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,YAAY,aAAa,QAAQ,UAAU,KAAK,EAAE,CAAC;oBACjF,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAGM,WAAW,CAAQ,GAAY,EAAS,GAAa;QAC1D,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CAEF,CAAA;AA3SY,wDAAsB;AAe3B;IADL,IAAA,YAAG,EAAC,4BAA4B,CAAC;IAE/B,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;IACZ,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;6DAyFP;AAIK;IADL,IAAA,aAAI,EAAC,kCAAkC,CAAC;IAEtC,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;IACZ,WAAA,IAAA,aAAI,EAAC,UAAU,CAAC,CAAA;IAChB,WAAA,IAAA,aAAI,EAAC,UAAU,CAAC,CAAA;IAChB,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDA+BP;AAIK;IADL,IAAA,aAAI,EAAC,oCAAoC,CAAC;IAExC,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;IACZ,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2DA8DP;AAIK;IADL,IAAA,aAAI,EAAC,kCAAkC,CAAC;IAEtC,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;IACZ,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gEAcP;AAIK;IADL,IAAA,YAAG,EAAC,sBAAsB,CAAC;IAEzB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;IAChB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDAiCP;AAGM;IADN,IAAA,YAAG,EAAC,gBAAgB,CAAC;IACF,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAa7C;iCAzSU,sBAAsB;IADlC,IAAA,mBAAU,EAAC,YAAY,CAAC;qCAKS,2CAAmB;QACnB,kBAAW;GALhC,sBAAsB,CA2SlC"}
@@ -11,13 +11,14 @@ const common_1 = require("@nestjs/common");
11
11
  const oidc_provider_service_1 = require("./oidc-provider.service");
12
12
  const oidc_provider_controller_1 = require("./oidc-provider.controller");
13
13
  const core_1 = require("@builder6/core");
14
+ const oidc_provider_moleculer_1 = require("./oidc-provider.moleculer");
14
15
  let OidcProviderModule = class OidcProviderModule {
15
16
  };
16
17
  exports.OidcProviderModule = OidcProviderModule;
17
18
  exports.OidcProviderModule = OidcProviderModule = __decorate([
18
19
  (0, common_1.Module)({
19
20
  imports: [core_1.AuthModule, core_1.MongodbModule],
20
- providers: [oidc_provider_service_1.OidcProviderService],
21
+ providers: [oidc_provider_service_1.OidcProviderService, oidc_provider_moleculer_1.OidcProviderMoleculer],
21
22
  controllers: [oidc_provider_controller_1.OidcProviderController],
22
23
  exports: [oidc_provider_service_1.OidcProviderService],
23
24
  })
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-provider.module.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mEAA8D;AAC9D,yEAAoE;AACpE,yCAA2D;AAQpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAN9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,oBAAa,CAAC;QACpC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
1
+ {"version":3,"file":"oidc-provider.module.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mEAA8D;AAC9D,yEAAoE;AACpE,yCAA2D;AAC3D,uEAAkE;AAQ3D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAN9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,oBAAa,CAAC;QACpC,SAAS,EAAE,CAAC,2CAAmB,EAAE,+CAAqB,CAAC;QACvD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
@@ -0,0 +1,10 @@
1
+ import { Service, Context, ServiceBroker } from 'moleculer';
2
+ import { OidcProviderService } from './oidc-provider.service';
3
+ export declare class OidcProviderMoleculer extends Service {
4
+ private readonly oidcProviderService;
5
+ constructor(oidcProviderService: OidcProviderService, broker: ServiceBroker);
6
+ serviceCreated(): void;
7
+ serviceStarted(): Promise<void>;
8
+ serviceStopped(): Promise<void>;
9
+ appsModified(ctx: Context): Promise<void>;
10
+ }
@@ -0,0 +1,53 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OidcProviderMoleculer = void 0;
16
+ const moleculer_1 = require("moleculer");
17
+ const common_1 = require("@nestjs/common");
18
+ const moleculer_2 = require("@builder6/moleculer");
19
+ const oidc_provider_service_1 = require("./oidc-provider.service");
20
+ let OidcProviderMoleculer = class OidcProviderMoleculer extends moleculer_1.Service {
21
+ constructor(oidcProviderService, broker) {
22
+ super(broker);
23
+ this.oidcProviderService = oidcProviderService;
24
+ this.parseServiceSchema({
25
+ name: '@builder6/oidc-provider',
26
+ settings: {},
27
+ actions: {},
28
+ events: {
29
+ '@apps.inserted': this.appsModified,
30
+ '@apps.updated': this.appsModified,
31
+ '@apps.deleted': this.appsModified,
32
+ },
33
+ created: this.serviceCreated,
34
+ started: this.serviceStarted,
35
+ stopped: this.serviceStopped,
36
+ });
37
+ }
38
+ serviceCreated() { }
39
+ async serviceStarted() { }
40
+ async serviceStopped() { }
41
+ async appsModified(ctx) {
42
+ this.oidcProviderService.initOidcProvider();
43
+ this.logger.info('OIDC Provider apps modified, re-initializing OIDC Provider');
44
+ }
45
+ };
46
+ exports.OidcProviderMoleculer = OidcProviderMoleculer;
47
+ exports.OidcProviderMoleculer = OidcProviderMoleculer = __decorate([
48
+ (0, common_1.Injectable)(),
49
+ __param(1, (0, moleculer_2.InjectBroker)()),
50
+ __metadata("design:paramtypes", [oidc_provider_service_1.OidcProviderService,
51
+ moleculer_1.ServiceBroker])
52
+ ], OidcProviderMoleculer);
53
+ //# sourceMappingURL=oidc-provider.moleculer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-provider.moleculer.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.moleculer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA4D;AAC5D,2CAA4C;AAC5C,mDAAmD;AACnD,mEAA8D;AAGvD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,mBAAO;IAChD,YACmB,mBAAwC,EACzC,MAAqB;QAErC,KAAK,CAAC,MAAM,CAAC,CAAC;QAHG,wBAAmB,GAAnB,mBAAmB,CAAqB;QAKzD,IAAI,CAAC,kBAAkB,CAAC;YACtB,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EACR;YACD,MAAM,EAAE;gBACN,gBAAgB,EAAE,IAAI,CAAC,YAAY;gBACnC,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,eAAe,EAAE,IAAI,CAAC,YAAY;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,KAAK,CAAC;IAEpB,KAAK,CAAC,cAAc,KAAK,CAAC;IAE1B,KAAK,CAAC,cAAc,KAAK,CAAC;IAE1B,KAAK,CAAC,YAAY,CAAC,GAAY;QAC7B,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACjF,CAAC;CAEF,CAAA;AAlCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,wBAAY,GAAE,CAAA;qCADuB,2CAAmB;QACjC,yBAAa;GAH5B,qBAAqB,CAkCjC"}
@@ -8,7 +8,10 @@ export declare class OidcProviderService {
8
8
  private mongodbService;
9
9
  provider: Provider;
10
10
  private readonly logger;
11
+ private clients;
11
12
  constructor(configService: ConfigService, authService: AuthService, mongodbService: MongodbService);
13
+ onModuleInit(): Promise<void>;
14
+ initOidcProvider(): Promise<void>;
12
15
  validateUser(username: string, password: string, space_id?: string): Promise<string | null>;
13
16
  findAccount(ctx: KoaContextWithOIDC, id: string): Promise<{
14
17
  accountId: string;
@@ -22,4 +25,5 @@ export declare class OidcProviderService {
22
25
  };
23
26
  }>;
24
27
  getCallback(): any;
28
+ getClientById(clientId: string): any;
25
29
  }
@@ -26,25 +26,49 @@ let OidcProviderService = OidcProviderService_1 = class OidcProviderService {
26
26
  this.authService = authService;
27
27
  this.mongodbService = mongodbService;
28
28
  this.logger = new common_1.Logger(OidcProviderService_1.name);
29
+ this.clients = [];
30
+ }
31
+ async onModuleInit() {
32
+ await this.initOidcProvider();
33
+ }
34
+ async initOidcProvider() {
29
35
  const rootUrl = this.configService.get('root.url');
30
36
  const clientId = this.configService.get('oidc.provider.client.id');
31
37
  const clientSecret = this.configService.get('oidc.provider.client.secret');
32
38
  const redirectUris = this.configService
33
39
  .get('oidc.provider.redirect.uris')
34
40
  ?.split(',');
35
- if (!clientId || !clientSecret) {
36
- return;
41
+ const clients = [];
42
+ if (clientId && clientSecret) {
43
+ clients.push({
44
+ client_id: clientId,
45
+ client_secret: clientSecret,
46
+ redirect_uris: [...redirectUris],
47
+ response_types: ['code'],
48
+ grant_types: ['authorization_code'],
49
+ });
37
50
  }
38
- const oidcConfig = {
39
- clients: [
40
- {
41
- client_id: clientId,
42
- client_secret: clientSecret,
43
- redirect_uris: [...redirectUris],
51
+ const oauth2_apps = await this.mongodbService.find('apps', {
52
+ oauth2_enabled: true,
53
+ });
54
+ for (const app of oauth2_apps) {
55
+ if (app.oauth2_callback_url && app.oauth2_client_secret) {
56
+ clients.push({
57
+ name: app.name,
58
+ url: app.url,
59
+ callback_url: app.oauth2_callback_url,
60
+ client_id: app._id,
61
+ client_secret: app.oauth2_client_secret,
62
+ redirect_uris: app.oauth2_callback_url?.split(',') || [],
44
63
  response_types: ['code'],
45
64
  grant_types: ['authorization_code'],
46
- },
47
- ],
65
+ });
66
+ }
67
+ }
68
+ this.clients = clients;
69
+ console.log('oidc clients', clients);
70
+ const oidcConfig = {
71
+ clients,
48
72
  features: {
49
73
  revocation: { enabled: true },
50
74
  introspection: { enabled: true },
@@ -64,7 +88,7 @@ let OidcProviderService = OidcProviderService_1 = class OidcProviderService {
64
88
  },
65
89
  findAccount: this.findAccount.bind(this),
66
90
  };
67
- this.provider = new oidc_provider_1.Provider(`${rootUrl}/api/v6/idp`, oidcConfig);
91
+ this.provider = new oidc_provider_1.Provider(`${rootUrl}/api/v6/idp/common`, oidcConfig);
68
92
  }
69
93
  async validateUser(username, password, space_id) {
70
94
  if (!space_id) {
@@ -112,6 +136,9 @@ let OidcProviderService = OidcProviderService_1 = class OidcProviderService {
112
136
  getCallback() {
113
137
  return this.provider?.callback();
114
138
  }
139
+ getClientById(clientId) {
140
+ return this.clients.find(client => client.client_id === clientId);
141
+ }
115
142
  };
116
143
  exports.OidcProviderService = OidcProviderService;
117
144
  exports.OidcProviderService = OidcProviderService = OidcProviderService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-provider.service.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc-provider.service.js","sourceRoot":"","sources":["../../src/oidc-provider/oidc-provider.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder6/oidc-provider",
3
- "version": "0.16.3-alpha.2",
3
+ "version": "0.16.3-alpha.21",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -12,12 +12,12 @@
12
12
  "build:watch": "rimraf dist && tsc --watch"
13
13
  },
14
14
  "dependencies": {
15
- "@builder6/core": "0.16.3-alpha.2",
15
+ "@builder6/core": "0.16.3-alpha.21",
16
16
  "lodash": "^4.17.5",
17
17
  "oidc-provider": "^8.8.1"
18
18
  },
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "gitHead": "c15952620fab952a17dce6c321c1dd2b491d09ea"
22
+ "gitHead": "4773ad7d7bf89b4ceb1b9ea5303e469c0d1fa80c"
23
23
  }