@qelos/plugin-play 3.1.3 → 3.1.5

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.
@@ -3,8 +3,12 @@ import manifest from './manifest';
3
3
  import handlers, { onCallback, onFrontendAuthorization, onNewTenant, onRefreshToken } from './handlers';
4
4
  import config from './config';
5
5
  import { getSdk, getSdkForUrl } from './sdk';
6
+ import { ResponseError } from './response-error';
6
7
  const notAuthorized = { message: 'you are not authorized' };
7
8
  function getHostname(fullUrl) {
9
+ if (!fullUrl.startsWith('http')) {
10
+ fullUrl = 'https://' + fullUrl;
11
+ }
8
12
  const url = new URL(fullUrl);
9
13
  return url.hostname;
10
14
  }
@@ -102,12 +106,22 @@ export function getRegisterRoute() {
102
106
  const tenantSdk = getSdkForUrl(appUrl);
103
107
  const emailSplit = email.split('@');
104
108
  if (emailSplit.length === 2 && getHostname(appUrl) !== emailSplit[1].split(':')[0]) {
105
- throw new Error('email must be provided from the same app url');
109
+ throw new ResponseError('email must be provided from the same app url: ' + appUrl);
106
110
  }
107
- // email will be: {pluginId}.{tenantId}@${tenantHostname}
108
- const { payload } = await tenantSdk.authentication.oAuthSignin({ email, password });
109
- if (!payload.user?.roles?.includes('plugin')) {
110
- throw new Error('should retrieve a plugin user to app: ' + appUrl);
111
+ let currentAuthPayload;
112
+ try {
113
+ // email will be: {pluginId}.{tenantId}@${tenantHostname}
114
+ const { payload } = await tenantSdk.authentication.oAuthSignin({ email, password });
115
+ if (!payload.user?.roles?.includes('plugin')) {
116
+ throw new ResponseError('should retrieve a plugin user to app: ' + appUrl);
117
+ }
118
+ currentAuthPayload = payload;
119
+ }
120
+ catch (err) {
121
+ if (err instanceof ResponseError) {
122
+ throw err;
123
+ }
124
+ throw new ResponseError('failed to login to qelos tenant: ' + appUrl);
111
125
  }
112
126
  const newPayload = {
113
127
  sub: '',
@@ -139,25 +153,41 @@ export function getRegisterRoute() {
139
153
  appUrl,
140
154
  email,
141
155
  password,
142
- currentAuthPayload: payload
156
+ currentAuthPayload
143
157
  });
144
158
  newPayload.sub = user._id;
145
159
  return { payload: newPayload };
146
160
  });
147
161
  }
162
+ function getMissingCredentialsError({ email, password, appUrl }) {
163
+ if (email && password && appUrl) {
164
+ return null;
165
+ }
166
+ const missing = [];
167
+ if (email) {
168
+ missing.push('email');
169
+ }
170
+ if (password) {
171
+ missing.push('password');
172
+ }
173
+ if (appUrl) {
174
+ missing.push('appUrl');
175
+ }
176
+ return { message: 'missing credentials: ' + missing.join(', ') };
177
+ }
148
178
  return {
149
179
  method: 'POST',
150
180
  url: manifest.registerUrl,
151
181
  handler: async (request, reply) => {
152
- const { email, password, appUrl } = request.body || {};
153
- if (!(email && password && appUrl)) {
182
+ const missingErr = getMissingCredentialsError(request.body || {});
183
+ if (missingErr) {
154
184
  reply.statusCode = 401;
155
- return notAuthorized;
185
+ return missingErr;
156
186
  }
157
187
  try {
158
188
  if (handlers.newTenant.length) {
159
189
  for (let handler of handlers.newTenant) {
160
- const result = await handler({ email, password, appUrl }, request);
190
+ const result = await handler(request.body, request);
161
191
  if (result?.payload) {
162
192
  return {
163
193
  [manifest.authAcquire.refreshTokenKey]: jwt.sign(result.payload, config.refreshTokenSecret, { expiresIn: '90d' }),
@@ -171,6 +201,10 @@ export function getRegisterRoute() {
171
201
  if (config.dev) {
172
202
  console.log(err);
173
203
  }
204
+ if (err instanceof ResponseError) {
205
+ reply.statusCode = err.status;
206
+ return { message: err.responseMessage };
207
+ }
174
208
  }
175
209
  reply.statusCode = 401;
176
210
  return notAuthorized;
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAG/B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,EAAE,EAAC,UAAU,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAC;AACvH,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AAE3C,MAAM,aAAa,GAAG,EAAC,OAAO,EAAE,wBAAwB,EAAC,CAAC;AAE1D,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAmB;IACzD,MAAM,EAAC,aAAa,EAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAEpC,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,IAAI;QACF,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;KACjE;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,MAAM,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChB;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAmB;IACzD,MAAM,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,IAAI;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACtB;IAAC,MAAM;QACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAElC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC;IAEhC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,cAAc,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,UAAU,GAAG,EAAE,EAAC,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE;gBACpE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACtD;YACD,MAAM,UAAU,GAAoB;gBAClC,GAAG;gBACH,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;aACrE,CAAA;YACD,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAC,gBAAgB,EAAE,EAAC,eAAe,EAAE,UAAU,CAAC,UAAU,EAAC,EAAC,CAAC,CAAA;YACxF,OAAO,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC;QAC/B,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,eAAe;QACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,oBAAoB,EAAE;gBACzB,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvB,OAAO,aAAa,CAAC;aACtB;YACD,IAAI,OAAwB,CAAC;YAC7B,IAAI;gBACF,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,KAAK,WAAW,EAAE;oBACjE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACpD;gBACD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACtE,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;oBAChC,KAAK,IAAI,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE;wBACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAC/C,IAAI,MAAM,EAAE,OAA0B,EAAE;4BACtC,OAAO;gCACL,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;gCAC/G,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;6BAC7G,CAAA;yBACF;qBACF;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAClB;aACF;YACD,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAE9B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC;IAEhC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,WAAW,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAC,EAAE,EAAE;YAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YACtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;YACD,yDAAyD;YACzD,MAAM,EAAC,OAAO,EAAC,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,MAAM,CAAC,CAAC;aACpE;YACD,MAAM,UAAU,GAAoB;gBAClC,GAAG,EAAE,EAAE;gBACP,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;aACrE,CAAA;YACD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC;YACT,IAAI,YAAY,EAAE;gBAChB,IAAI,GAAG,YAAY,CAAC;gBACpB,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC9B,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,kBAAkB;oBAC5B,KAAK;oBACL,QAAQ;oBACR,gBAAgB,EAAE,EAAC,eAAe,EAAE,UAAU,CAAC,UAAU,EAAC;iBAC3D,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBAC3B,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,kBAAkB;oBAC5B,KAAK;oBACL,QAAQ;oBACR,KAAK,EAAE,CAAC,MAAM,CAAC;oBACf,gBAAgB,EAAE,EAAC,eAAe,EAAE,UAAU,CAAC,UAAU,EAAC;iBAC3D,CAAC,CAAC;aACJ;YAED,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,EAAE;gBAClE,MAAM;gBACN,KAAK;gBACL,QAAQ;gBACR,kBAAkB,EAAE,OAAO;aAC5B,CAAC,CAAA;YACF,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC1B,OAAO,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC;QAC/B,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,QAAQ,CAAC,WAAW;QACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,IAAI,IAAI,EAAS,CAAC;YAC5D,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,EAAE;gBAClC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvB,OAAO,aAAa,CAAC;aACtB;YACD,IAAI;gBACF,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;oBAC7B,KAAK,IAAI,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAC,EAAE,OAAO,CAAC,CAAC;wBACjE,IAAI,MAAM,EAAE,OAA0B,EAAE;4BACtC,OAAO;gCACL,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;gCAC/G,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;6BAC7G,CAAA;yBACF;qBACF;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAClB;aACF;YACD,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,UAAU,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,OAAO,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,wBAAwB;YACxB,mCAAmC;YACnC,yDAAyD;YACzD,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7B,WAAW,EAAE,SAAS;gBACtB,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;gBACvD,WAAW,EAAE;oBACX,IAAI;oBACJ,IAAI;oBACJ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;oBACnB,MAAM,EAAE,OAAO,CAAC,aAAa;iBAC9B;aACF,CAAC,CAAA;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;KACJ;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,QAAQ,CAAC,WAAW;QACzB,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,WAAW,GAAQ,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAE7C,IAAI;gBACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBAEpB,KAAK,IAAI,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAC,EAAE,OAAO,CAAC,CAAA;oBAEtE,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBACpC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC5C,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;4BAC9C,IAAI;4BACJ,MAAM,EAAE,OAAO,CAAC,aAAa;yBAC9B,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;wBAEpD,OAAO;4BACL,SAAS,EAAE,SAAS,CAAC,IAAI;yBAC1B,CAAA;qBACF;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;iBACvC;aACF;YACD,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,IAAI,mBAAmB,GAA4B,KAAK,IAAI,EAAE;QAC5D,OAAO;IACT,CAAC,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,uBAAuB,CAAC,KAAK,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC,EAAE,EAAE;YAC1D,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvF,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;oBAC9B,OAAO;wBACL,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;wBAC5B,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC;qBACzG,CAAA;iBACF;aACF;YAAC,MAAM;gBACN,EAAE;aACH;YACD,OAAO;QACT,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,GAAG,EAAE;YACd,mBAAmB,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAC,CAAC,CAAC;gBAC5F,MAAM,IAAI,GAAG;oBACX,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACtB,CAAA;gBACD,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,UAAU,EAAE,IAAI,CAAC,KAAK;iBACvB,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;oBACxC,IAAI,EAAE,SAAS;oBACf,IAAI;oBACJ,MAAM;iBACP,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;gBACpD,OAAO;oBACL,IAAI;oBACJ,MAAM;iBACP,CAAC;YACJ,CAAC,CAAA;SACF;KACF;IAGD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,QAAQ,CAAC,YAAY;QAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAQ,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACnD,IAAI,SAAS,IAAI,KAAK,EAAE;gBACtB,IAAI;oBACF,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACnE,KAAK,IAAI,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE;wBACzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC,EAAE,OAAO,CAAC,CAAC;wBAErE,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;4BACrD,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;4BAC9D,OAAO;gCACL,IAAI;gCACJ,MAAM;6BACP,CAAA;yBACF;qBACF;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,MAAM,CAAC,GAAG,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;qBACvC;iBACF;aACF;YACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE;gBACb,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvB,OAAO,aAAa,CAAC;aACtB;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,QAAQ,CAAC,cAAc;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YACrC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;YAClD,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class ResponseError extends Error {
2
+ status: number;
3
+ responseMessage?: string;
4
+ constructor(message: string, status?: number, responseMessage?: string);
5
+ }
@@ -0,0 +1,13 @@
1
+ export class ResponseError extends Error {
2
+ status;
3
+ responseMessage;
4
+ constructor(message, status = 401, responseMessage) {
5
+ super(message);
6
+ this.status = status;
7
+ this.responseMessage = responseMessage;
8
+ if (!this.responseMessage) {
9
+ this.responseMessage = message;
10
+ }
11
+ }
12
+ }
13
+ //# sourceMappingURL=response-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-error.js","sourceRoot":"","sources":["../src/response-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACF;IAA6B;IAAjE,YAAY,OAAe,EAAS,SAAiB,GAAG,EAAS,eAAwB;QACvF,KAAK,CAAC,OAAO,CAAC,CAAA;QADoB,WAAM,GAAN,MAAM,CAAc;QAAS,oBAAe,GAAf,eAAe,CAAS;QAEvF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;SAChC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/plugin-play",
3
- "version": "3.1.3",
3
+ "version": "3.1.5",
4
4
  "description": "Play a plugin for Qelos!",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -5,10 +5,14 @@ import manifest from './manifest';
5
5
  import handlers, {onCallback, onFrontendAuthorization, onNewTenant, onRefreshToken, StandardPayload} from './handlers';
6
6
  import config from './config';
7
7
  import {getSdk, getSdkForUrl} from './sdk';
8
+ import {ResponseError} from './response-error';
8
9
 
9
10
  const notAuthorized = {message: 'you are not authorized'};
10
11
 
11
12
  function getHostname(fullUrl: string) {
13
+ if (!fullUrl.startsWith('http')) {
14
+ fullUrl = 'https://' + fullUrl;
15
+ }
12
16
  const url = new URL(fullUrl);
13
17
  return url.hostname;
14
18
  }
@@ -117,12 +121,21 @@ export function getRegisterRoute(): RouteOptions {
117
121
  const tenantSdk = getSdkForUrl(appUrl)
118
122
  const emailSplit = email.split('@');
119
123
  if (emailSplit.length === 2 && getHostname(appUrl) !== emailSplit[1].split(':')[0]) {
120
- throw new Error('email must be provided from the same app url');
124
+ throw new ResponseError('email must be provided from the same app url: ' + appUrl);
121
125
  }
122
- // email will be: {pluginId}.{tenantId}@${tenantHostname}
123
- const {payload} = await tenantSdk.authentication.oAuthSignin({email, password});
124
- if (!payload.user?.roles?.includes('plugin')) {
125
- throw new Error('should retrieve a plugin user to app: ' + appUrl);
126
+ let currentAuthPayload;
127
+ try {
128
+ // email will be: {pluginId}.{tenantId}@${tenantHostname}
129
+ const {payload} = await tenantSdk.authentication.oAuthSignin({email, password});
130
+ if (!payload.user?.roles?.includes('plugin')) {
131
+ throw new ResponseError('should retrieve a plugin user to app: ' + appUrl);
132
+ }
133
+ currentAuthPayload = payload;
134
+ } catch (err) {
135
+ if (err instanceof ResponseError) {
136
+ throw err;
137
+ }
138
+ throw new ResponseError('failed to login to qelos tenant: ' + appUrl);
126
139
  }
127
140
  const newPayload: StandardPayload = {
128
141
  sub: '',
@@ -154,26 +167,43 @@ export function getRegisterRoute(): RouteOptions {
154
167
  appUrl,
155
168
  email,
156
169
  password,
157
- currentAuthPayload: payload
170
+ currentAuthPayload
158
171
  })
159
172
  newPayload.sub = user._id;
160
173
  return {payload: newPayload};
161
174
  })
162
175
  }
163
176
 
177
+ function getMissingCredentialsError({email, password, appUrl}: any) {
178
+ if (email && password && appUrl) {
179
+ return null;
180
+ }
181
+ const missing = [];
182
+ if (email) {
183
+ missing.push('email');
184
+ }
185
+ if (password) {
186
+ missing.push('password');
187
+ }
188
+ if (appUrl) {
189
+ missing.push('appUrl');
190
+ }
191
+ return {message: 'missing credentials: ' + missing.join(', ')}
192
+ }
193
+
164
194
  return {
165
195
  method: 'POST',
166
196
  url: manifest.registerUrl,
167
197
  handler: async (request, reply) => {
168
- const {email, password, appUrl} = request.body || {} as any;
169
- if (!(email && password && appUrl)) {
198
+ const missingErr = getMissingCredentialsError(request.body || {});
199
+ if (missingErr) {
170
200
  reply.statusCode = 401;
171
- return notAuthorized;
201
+ return missingErr;
172
202
  }
173
203
  try {
174
204
  if (handlers.newTenant.length) {
175
205
  for (let handler of handlers.newTenant) {
176
- const result = await handler({email, password, appUrl}, request);
206
+ const result = await handler(request.body, request);
177
207
  if (result?.payload as StandardPayload) {
178
208
  return {
179
209
  [manifest.authAcquire.refreshTokenKey]: jwt.sign(result.payload, config.refreshTokenSecret, {expiresIn: '90d'}),
@@ -186,6 +216,10 @@ export function getRegisterRoute(): RouteOptions {
186
216
  if (config.dev) {
187
217
  console.log(err);
188
218
  }
219
+ if (err instanceof ResponseError) {
220
+ reply.statusCode = err.status;
221
+ return {message: err.responseMessage};
222
+ }
189
223
  }
190
224
  reply.statusCode = 401;
191
225
  return notAuthorized;
@@ -0,0 +1,8 @@
1
+ export class ResponseError extends Error {
2
+ constructor(message: string, public status: number = 401, public responseMessage?: string) {
3
+ super(message)
4
+ if (!this.responseMessage) {
5
+ this.responseMessage = message;
6
+ }
7
+ }
8
+ }