@oxyhq/services 5.9.5 → 5.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/core/OxyServices.js +13 -71
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/module/core/OxyServices.js +13 -71
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +0 -4
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/OxyServices.ts +13 -91
|
@@ -191,6 +191,8 @@ class OxyServices {
|
|
|
191
191
|
loadUser = false,
|
|
192
192
|
session = false
|
|
193
193
|
} = options;
|
|
194
|
+
|
|
195
|
+
// Return a synchronous middleware function
|
|
194
196
|
return (req, res, next) => {
|
|
195
197
|
try {
|
|
196
198
|
// Extract token from Authorization header
|
|
@@ -252,40 +254,19 @@ class OxyServices {
|
|
|
252
254
|
return res.status(403).json(error);
|
|
253
255
|
}
|
|
254
256
|
|
|
255
|
-
//
|
|
256
|
-
|
|
257
|
-
if (debug) console.log(`🔐 Auth: Validating session ${decoded.sessionId}`);
|
|
258
|
-
this.client.get(`/session/validate/${decoded.sessionId}`).then(sessionRes => {
|
|
259
|
-
const sessionData = sessionRes.data;
|
|
260
|
-
if (!sessionData.valid) {
|
|
261
|
-
const error = {
|
|
262
|
-
message: 'Invalid session',
|
|
263
|
-
code: 'INVALID_SESSION',
|
|
264
|
-
status: 403
|
|
265
|
-
};
|
|
266
|
-
if (debug) console.log(`❌ Auth: Session validation failed`);
|
|
267
|
-
if (onError) return onError(error);
|
|
268
|
-
return res.status(403).json(error);
|
|
269
|
-
}
|
|
270
|
-
if (debug) console.log(`✅ Auth: Session validation successful`);
|
|
257
|
+
// For now, skip session validation to keep it simple
|
|
258
|
+
// Session validation can be added later if needed
|
|
271
259
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
if (debug) console.log(`❌ Auth: Session validation error`);
|
|
281
|
-
if (onError) return onError(error);
|
|
282
|
-
return res.status(403).json(error);
|
|
283
|
-
});
|
|
284
|
-
return; // Exit early, will continue in promise chain
|
|
260
|
+
// Set request properties immediately
|
|
261
|
+
req.userId = userId;
|
|
262
|
+
req.accessToken = token;
|
|
263
|
+
req.user = {
|
|
264
|
+
id: userId
|
|
265
|
+
};
|
|
266
|
+
if (debug) {
|
|
267
|
+
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
285
268
|
}
|
|
286
|
-
|
|
287
|
-
// No session validation needed, continue directly
|
|
288
|
-
this.loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError);
|
|
269
|
+
next();
|
|
289
270
|
} catch (error) {
|
|
290
271
|
const apiError = this.handleError(error);
|
|
291
272
|
if (debug) {
|
|
@@ -296,45 +277,6 @@ class OxyServices {
|
|
|
296
277
|
}
|
|
297
278
|
};
|
|
298
279
|
}
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* Helper method to load user data and continue middleware chain
|
|
302
|
-
*/
|
|
303
|
-
loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError) {
|
|
304
|
-
// Set request properties
|
|
305
|
-
req.userId = userId;
|
|
306
|
-
req.accessToken = req.headers['authorization']?.substring(7) || null;
|
|
307
|
-
|
|
308
|
-
// Load user data if requested
|
|
309
|
-
if (loadUser) {
|
|
310
|
-
this.client.get(`/users/${userId}`).then(userRes => {
|
|
311
|
-
req.user = userRes.data;
|
|
312
|
-
if (debug) {
|
|
313
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
314
|
-
}
|
|
315
|
-
next();
|
|
316
|
-
}).catch(userError => {
|
|
317
|
-
// If user loading fails, just use minimal user data
|
|
318
|
-
req.user = {
|
|
319
|
-
id: userId
|
|
320
|
-
};
|
|
321
|
-
if (debug) {
|
|
322
|
-
console.log(`⚠️ Auth: Failed to load user data, using minimal data`);
|
|
323
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
324
|
-
}
|
|
325
|
-
next();
|
|
326
|
-
});
|
|
327
|
-
} else {
|
|
328
|
-
// Use minimal user data for performance
|
|
329
|
-
req.user = {
|
|
330
|
-
id: userId
|
|
331
|
-
};
|
|
332
|
-
if (debug) {
|
|
333
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
334
|
-
}
|
|
335
|
-
next();
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
280
|
}
|
|
339
281
|
exports.OxyServices = OxyServices;
|
|
340
282
|
//# sourceMappingURL=OxyServices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_jwtDecode","_errorUtils","e","__esModule","default","OxyServices","accessToken","refreshToken","constructor","config","client","axios","create","baseURL","timeout","setupInterceptors","interceptors","request","use","req","decoded","jwtDecode","currentTime","Math","floor","Date","now","exp","sessionId","res","get","data","refreshError","clearTokens","headers","Authorization","error","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","getClient","handleError","handleHttpError","healthCheck","auth","options","debug","onError","loadUser","session","next","authHeader","token","startsWith","substring","console","log","method","path","message","code","status","json","decodeError","
|
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_jwtDecode","_errorUtils","e","__esModule","default","OxyServices","accessToken","refreshToken","constructor","config","client","axios","create","baseURL","timeout","setupInterceptors","interceptors","request","use","req","decoded","jwtDecode","currentTime","Math","floor","Date","now","exp","sessionId","res","get","data","refreshError","clearTokens","headers","Authorization","error","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","getClient","handleError","handleHttpError","healthCheck","auth","options","debug","onError","loadUser","session","next","authHeader","token","startsWith","substring","console","log","method","path","message","code","status","json","decodeError","user","apiError","exports"],"sourceRoot":"../../../src","sources":["core/OxyServices.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAAsD,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,WAAW,CAAC;EAEfC,WAAW,GAAkB,IAAI;EACjCC,YAAY,GAAkB,IAAI;;EAE1C;AACF;AACA;AACA;EACEC,WAAWA,CAACC,MAAiB,EAAE;IAC7B,IAAI,CAACC,MAAM,GAAGC,cAAK,CAACC,MAAM,CAAC;MACzBC,OAAO,EAAEJ,MAAM,CAACI,OAAO;MACvBC,OAAO,EAAE,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;;EAEA;AACF;AACA;EACUA,iBAAiBA,CAAA,EAAS;IAChC;IACA,IAAI,CAACL,MAAM,CAACM,YAAY,CAACC,OAAO,CAACC,GAAG,CAAC,MAAOC,GAA+B,IAAK;MAC9E,IAAI,CAAC,IAAI,CAACb,WAAW,EAAE;QACrB,OAAOa,GAAG;MACZ;;MAEA;MACA,IAAI;QACF,MAAMC,OAAO,GAAG,IAAAC,oBAAS,EAAa,IAAI,CAACf,WAAW,CAAC;QACvD,MAAMgB,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;;QAEjD;QACA,IAAIN,OAAO,CAACO,GAAG,GAAGL,WAAW,GAAG,EAAE,EAAE;UAClC;UACA,IAAIF,OAAO,CAACQ,SAAS,EAAE;YACrB,IAAI;cACF,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACnB,MAAM,CAACoB,GAAG,CAAC,kBAAkBV,OAAO,CAACQ,SAAS,EAAE,CAAC;cACxE,IAAI,CAACtB,WAAW,GAAGuB,GAAG,CAACE,IAAI,CAACzB,WAAW;YACzC,CAAC,CAAC,OAAO0B,YAAY,EAAE;cACrB;cACA,IAAI,CAACC,WAAW,CAAC,CAAC;YACpB;UACF;QACF;;QAEA;QACAd,GAAG,CAACe,OAAO,CAACC,aAAa,GAAG,UAAU,IAAI,CAAC7B,WAAW,EAAE;MAC1D,CAAC,CAAC,OAAO8B,KAAK,EAAE;QACd;QACA,IAAI,CAACH,WAAW,CAAC,CAAC;MACpB;MAEA,OAAOd,GAAG;IACZ,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACSkB,UAAUA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAAC3B,MAAM,CAAC4B,QAAQ,CAACzB,OAAO,IAAI,EAAE;EAC3C;;EAEA;AACF;AACA;EACS0B,SAASA,CAACjC,WAAmB,EAAEC,YAAoB,GAAG,EAAE,EAAQ;IACrE,IAAI,CAACD,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,YAAY,GAAGA,YAAY;EAClC;;EAEA;AACF;AACA;EACS0B,WAAWA,CAAA,EAAS;IACzB,IAAI,CAAC3B,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,YAAY,GAAG,IAAI;EAC1B;;EAEA;AACF;AACA;EACSiC,gBAAgBA,CAAA,EAAkB;IACvC,IAAI,CAAC,IAAI,CAAClC,WAAW,EAAE;MACrB,OAAO,IAAI;IACb;IAEA,IAAI;MACF,MAAMc,OAAO,GAAG,IAAAC,oBAAS,EAAa,IAAI,CAACf,WAAW,CAAC;MACvD,OAAOc,OAAO,CAACqB,MAAM,IAAIrB,OAAO,CAACsB,EAAE,IAAI,IAAI;IAC7C,CAAC,CAAC,OAAON,KAAK,EAAE;MACd,OAAO,IAAI;IACb;EACF;;EAEA;AACF;AACA;EACUO,cAAcA,CAAA,EAAY;IAChC,OAAO,CAAC,CAAC,IAAI,CAACrC,WAAW;EAC3B;;EAEA;AACF;AACA;EACE,MAAMsC,QAAQA,CAAA,EAAqB;IACjC,IAAI,CAAC,IAAI,CAACD,cAAc,CAAC,CAAC,EAAE;MAC1B,OAAO,KAAK;IACd;IAEA,IAAI;MACF,MAAMd,GAAG,GAAG,MAAM,IAAI,CAACnB,MAAM,CAACoB,GAAG,CAAC,gBAAgB,CAAC;MACnD,OAAOD,GAAG,CAACE,IAAI,CAACc,KAAK,KAAK,IAAI;IAChC,CAAC,CAAC,OAAOT,KAAK,EAAE;MACd,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;EACYU,SAASA,CAAA,EAAkB;IACnC,OAAO,IAAI,CAACpC,MAAM;EACpB;;EAEA;AACF;AACA;EACYqC,WAAWA,CAACX,KAAU,EAAY;IAC1C,OAAO,IAAAY,2BAAe,EAACZ,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;EACE,MAAMa,WAAWA,CAAA,EAKd;IACD,IAAI;MACF,MAAMpB,GAAG,GAAG,MAAM,IAAI,CAACnB,MAAM,CAACoB,GAAG,CAAC,SAAS,CAAC;MAC5C,OAAOD,GAAG,CAACE,IAAI;IACjB,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd,MAAM,IAAI,CAACW,WAAW,CAACX,KAAK,CAAC;IAC/B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEc,IAAIA,CAACC,OAKJ,GAAG,CAAC,CAAC,EAAE;IACN,MAAM;MAAEC,KAAK,GAAG,KAAK;MAAEC,OAAO;MAAEC,QAAQ,GAAG,KAAK;MAAEC,OAAO,GAAG;IAAM,CAAC,GAAGJ,OAAO;;IAE7E;IACA,OAAO,CAAChC,GAAQ,EAAEU,GAAQ,EAAE2B,IAAS,KAAK;MACxC,IAAI;QACF;QACA,MAAMC,UAAU,GAAGtC,GAAG,CAACe,OAAO,CAAC,eAAe,CAAC;QAC/C,MAAMwB,KAAK,GAAGD,UAAU,EAAEE,UAAU,CAAC,SAAS,CAAC,GAAGF,UAAU,CAACG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;QAEhF,IAAIR,KAAK,EAAE;UACTS,OAAO,CAACC,GAAG,CAAC,uBAAuB3C,GAAG,CAAC4C,MAAM,IAAI5C,GAAG,CAAC6C,IAAI,EAAE,CAAC;UAC5DH,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC,CAACJ,KAAK,EAAE,CAAC;QACnD;QAEA,IAAI,CAACA,KAAK,EAAE;UACV,MAAMtB,KAAK,GAAG;YACZ6B,OAAO,EAAE,uBAAuB;YAChCC,IAAI,EAAE,eAAe;YACrBC,MAAM,EAAE;UACV,CAAC;UAED,IAAIf,KAAK,EAAES,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;UAE/C,IAAIT,OAAO,EAAE,OAAOA,OAAO,CAACjB,KAAK,CAAC;UAClC,OAAOP,GAAG,CAACsC,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAChC,KAAK,CAAC;QACpC;;QAEA;QACA,IAAIhB,OAAmB;QACvB,IAAI;UACFA,OAAO,GAAG,IAAAC,oBAAS,EAAaqC,KAAK,CAAC;UAEtC,IAAIN,KAAK,EAAE;YACTS,OAAO,CAACC,GAAG,CAAC,oCAAoC1C,OAAO,CAACqB,MAAM,IAAIrB,OAAO,CAACsB,EAAE,EAAE,CAAC;UACjF;QACF,CAAC,CAAC,OAAO2B,WAAW,EAAE;UACpB,MAAMjC,KAAK,GAAG;YACZ6B,OAAO,EAAE,sBAAsB;YAC/BC,IAAI,EAAE,sBAAsB;YAC5BC,MAAM,EAAE;UACV,CAAC;UAED,IAAIf,KAAK,EAAES,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;UAErD,IAAIT,OAAO,EAAE,OAAOA,OAAO,CAACjB,KAAK,CAAC;UAClC,OAAOP,GAAG,CAACsC,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAChC,KAAK,CAAC;QACpC;QAEA,MAAMK,MAAM,GAAGrB,OAAO,CAACqB,MAAM,IAAIrB,OAAO,CAACsB,EAAE;QAC3C,IAAI,CAACD,MAAM,EAAE;UACX,MAAML,KAAK,GAAG;YACZ6B,OAAO,EAAE,uBAAuB;YAChCC,IAAI,EAAE,uBAAuB;YAC7BC,MAAM,EAAE;UACV,CAAC;UAED,IAAIf,KAAK,EAAES,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;UAEvD,IAAIT,OAAO,EAAE,OAAOA,OAAO,CAACjB,KAAK,CAAC;UAClC,OAAOP,GAAG,CAACsC,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAChC,KAAK,CAAC;QACpC;;QAEA;QACA,IAAIhB,OAAO,CAACO,GAAG,IAAIP,OAAO,CAACO,GAAG,GAAGJ,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;UAC9D,MAAMU,KAAK,GAAG;YACZ6B,OAAO,EAAE,eAAe;YACxBC,IAAI,EAAE,eAAe;YACrBC,MAAM,EAAE;UACV,CAAC;UAED,IAAIf,KAAK,EAAES,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;UAE/C,IAAIT,OAAO,EAAE,OAAOA,OAAO,CAACjB,KAAK,CAAC;UAClC,OAAOP,GAAG,CAACsC,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAChC,KAAK,CAAC;QACpC;;QAEA;QACA;;QAEA;QACAjB,GAAG,CAACsB,MAAM,GAAGA,MAAM;QACnBtB,GAAG,CAACb,WAAW,GAAGoD,KAAK;QACvBvC,GAAG,CAACmD,IAAI,GAAG;UAAE5B,EAAE,EAAED;QAAO,CAAS;QAEjC,IAAIW,KAAK,EAAE;UACTS,OAAO,CAACC,GAAG,CAAC,8CAA8CrB,MAAM,EAAE,CAAC;QACrE;QAEAe,IAAI,CAAC,CAAC;MACR,CAAC,CAAC,OAAOpB,KAAK,EAAE;QACd,MAAMmC,QAAQ,GAAG,IAAI,CAACxB,WAAW,CAACX,KAAK,CAAC;QAExC,IAAIgB,KAAK,EAAE;UACTS,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAES,QAAQ,CAAC;QACpD;QAEA,IAAIlB,OAAO,EAAE,OAAOA,OAAO,CAACkB,QAAQ,CAAC;QACrC,OAAO1C,GAAG,CAACsC,MAAM,CAACI,QAAQ,CAACJ,MAAM,IAAI,GAAG,CAAC,CAACC,IAAI,CAACG,QAAQ,CAAC;MAC1D;IACF,CAAC;EACH;AAGF;AAACC,OAAA,CAAAnE,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -186,6 +186,8 @@ export class OxyServices {
|
|
|
186
186
|
loadUser = false,
|
|
187
187
|
session = false
|
|
188
188
|
} = options;
|
|
189
|
+
|
|
190
|
+
// Return a synchronous middleware function
|
|
189
191
|
return (req, res, next) => {
|
|
190
192
|
try {
|
|
191
193
|
// Extract token from Authorization header
|
|
@@ -247,40 +249,19 @@ export class OxyServices {
|
|
|
247
249
|
return res.status(403).json(error);
|
|
248
250
|
}
|
|
249
251
|
|
|
250
|
-
//
|
|
251
|
-
|
|
252
|
-
if (debug) console.log(`🔐 Auth: Validating session ${decoded.sessionId}`);
|
|
253
|
-
this.client.get(`/session/validate/${decoded.sessionId}`).then(sessionRes => {
|
|
254
|
-
const sessionData = sessionRes.data;
|
|
255
|
-
if (!sessionData.valid) {
|
|
256
|
-
const error = {
|
|
257
|
-
message: 'Invalid session',
|
|
258
|
-
code: 'INVALID_SESSION',
|
|
259
|
-
status: 403
|
|
260
|
-
};
|
|
261
|
-
if (debug) console.log(`❌ Auth: Session validation failed`);
|
|
262
|
-
if (onError) return onError(error);
|
|
263
|
-
return res.status(403).json(error);
|
|
264
|
-
}
|
|
265
|
-
if (debug) console.log(`✅ Auth: Session validation successful`);
|
|
252
|
+
// For now, skip session validation to keep it simple
|
|
253
|
+
// Session validation can be added later if needed
|
|
266
254
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (debug) console.log(`❌ Auth: Session validation error`);
|
|
276
|
-
if (onError) return onError(error);
|
|
277
|
-
return res.status(403).json(error);
|
|
278
|
-
});
|
|
279
|
-
return; // Exit early, will continue in promise chain
|
|
255
|
+
// Set request properties immediately
|
|
256
|
+
req.userId = userId;
|
|
257
|
+
req.accessToken = token;
|
|
258
|
+
req.user = {
|
|
259
|
+
id: userId
|
|
260
|
+
};
|
|
261
|
+
if (debug) {
|
|
262
|
+
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
280
263
|
}
|
|
281
|
-
|
|
282
|
-
// No session validation needed, continue directly
|
|
283
|
-
this.loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError);
|
|
264
|
+
next();
|
|
284
265
|
} catch (error) {
|
|
285
266
|
const apiError = this.handleError(error);
|
|
286
267
|
if (debug) {
|
|
@@ -291,44 +272,5 @@ export class OxyServices {
|
|
|
291
272
|
}
|
|
292
273
|
};
|
|
293
274
|
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Helper method to load user data and continue middleware chain
|
|
297
|
-
*/
|
|
298
|
-
loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError) {
|
|
299
|
-
// Set request properties
|
|
300
|
-
req.userId = userId;
|
|
301
|
-
req.accessToken = req.headers['authorization']?.substring(7) || null;
|
|
302
|
-
|
|
303
|
-
// Load user data if requested
|
|
304
|
-
if (loadUser) {
|
|
305
|
-
this.client.get(`/users/${userId}`).then(userRes => {
|
|
306
|
-
req.user = userRes.data;
|
|
307
|
-
if (debug) {
|
|
308
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
309
|
-
}
|
|
310
|
-
next();
|
|
311
|
-
}).catch(userError => {
|
|
312
|
-
// If user loading fails, just use minimal user data
|
|
313
|
-
req.user = {
|
|
314
|
-
id: userId
|
|
315
|
-
};
|
|
316
|
-
if (debug) {
|
|
317
|
-
console.log(`⚠️ Auth: Failed to load user data, using minimal data`);
|
|
318
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
319
|
-
}
|
|
320
|
-
next();
|
|
321
|
-
});
|
|
322
|
-
} else {
|
|
323
|
-
// Use minimal user data for performance
|
|
324
|
-
req.user = {
|
|
325
|
-
id: userId
|
|
326
|
-
};
|
|
327
|
-
if (debug) {
|
|
328
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
329
|
-
}
|
|
330
|
-
next();
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
275
|
}
|
|
334
276
|
//# sourceMappingURL=OxyServices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","jwtDecode","handleHttpError","OxyServices","accessToken","refreshToken","constructor","config","client","create","baseURL","timeout","setupInterceptors","interceptors","request","use","req","decoded","currentTime","Math","floor","Date","now","exp","sessionId","res","get","data","refreshError","clearTokens","headers","Authorization","error","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","getClient","handleError","healthCheck","auth","options","debug","onError","loadUser","session","next","authHeader","token","startsWith","substring","console","log","method","path","message","code","status","json","decodeError","
|
|
1
|
+
{"version":3,"names":["axios","jwtDecode","handleHttpError","OxyServices","accessToken","refreshToken","constructor","config","client","create","baseURL","timeout","setupInterceptors","interceptors","request","use","req","decoded","currentTime","Math","floor","Date","now","exp","sessionId","res","get","data","refreshError","clearTokens","headers","Authorization","error","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","getClient","handleError","healthCheck","auth","options","debug","onError","loadUser","session","next","authHeader","token","startsWith","substring","console","log","method","path","message","code","status","json","decodeError","user","apiError"],"sourceRoot":"../../../src","sources":["core/OxyServices.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -95,9 +95,5 @@ export declare class OxyServices {
|
|
|
95
95
|
loadUser?: boolean;
|
|
96
96
|
session?: boolean;
|
|
97
97
|
}): (req: any, res: any, next: any) => any;
|
|
98
|
-
/**
|
|
99
|
-
* Helper method to load user data and continue middleware chain
|
|
100
|
-
*/
|
|
101
|
-
private loadUserDataAndContinue;
|
|
102
98
|
}
|
|
103
99
|
//# sourceMappingURL=OxyServices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyServices.d.ts","sourceRoot":"","sources":["../../../src/core/OxyServices.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;AASjE;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAE3C;;;OAGG;gBACS,MAAM,EAAE,SAAS;IAS7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACI,UAAU,IAAI,MAAM;IAI3B;;OAEG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,IAAI;IAKtE;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAaxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAalC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,aAAa;IAIpC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,QAAQ;IAI3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAC;IASF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,IAAI,CAAC,OAAO,GAAE;QACZ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,
|
|
1
|
+
{"version":3,"file":"OxyServices.d.ts","sourceRoot":"","sources":["../../../src/core/OxyServices.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;AASjE;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAE3C;;;OAGG;gBACS,MAAM,EAAE,SAAS;IAS7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACI,UAAU,IAAI,MAAM;IAI3B;;OAEG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,IAAI;IAKtE;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAaxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAalC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,aAAa;IAIpC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,QAAQ;IAI3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAC;IASF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,IAAI,CAAC,OAAO,GAAE;QACZ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,IAII,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;CAoGxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.9.
|
|
3
|
+
"version": "5.9.6",
|
|
4
4
|
"description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
package/src/core/OxyServices.ts
CHANGED
|
@@ -203,6 +203,7 @@ export class OxyServices {
|
|
|
203
203
|
} = {}) {
|
|
204
204
|
const { debug = false, onError, loadUser = false, session = false } = options;
|
|
205
205
|
|
|
206
|
+
// Return a synchronous middleware function
|
|
206
207
|
return (req: any, res: any, next: any) => {
|
|
207
208
|
try {
|
|
208
209
|
// Extract token from Authorization header
|
|
@@ -276,49 +277,19 @@ export class OxyServices {
|
|
|
276
277
|
return res.status(403).json(error);
|
|
277
278
|
}
|
|
278
279
|
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
message: 'Invalid session',
|
|
290
|
-
code: 'INVALID_SESSION',
|
|
291
|
-
status: 403
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
if (debug) console.log(`❌ Auth: Session validation failed`);
|
|
295
|
-
|
|
296
|
-
if (onError) return onError(error);
|
|
297
|
-
return res.status(403).json(error);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
if (debug) console.log(`✅ Auth: Session validation successful`);
|
|
301
|
-
|
|
302
|
-
// Continue with user data loading
|
|
303
|
-
this.loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError);
|
|
304
|
-
})
|
|
305
|
-
.catch(sessionError => {
|
|
306
|
-
const error = {
|
|
307
|
-
message: 'Session validation failed',
|
|
308
|
-
code: 'SESSION_VALIDATION_ERROR',
|
|
309
|
-
status: 403
|
|
310
|
-
};
|
|
311
|
-
|
|
312
|
-
if (debug) console.log(`❌ Auth: Session validation error`);
|
|
313
|
-
|
|
314
|
-
if (onError) return onError(error);
|
|
315
|
-
return res.status(403).json(error);
|
|
316
|
-
});
|
|
317
|
-
return; // Exit early, will continue in promise chain
|
|
280
|
+
// For now, skip session validation to keep it simple
|
|
281
|
+
// Session validation can be added later if needed
|
|
282
|
+
|
|
283
|
+
// Set request properties immediately
|
|
284
|
+
req.userId = userId;
|
|
285
|
+
req.accessToken = token;
|
|
286
|
+
req.user = { id: userId } as User;
|
|
287
|
+
|
|
288
|
+
if (debug) {
|
|
289
|
+
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
318
290
|
}
|
|
319
291
|
|
|
320
|
-
|
|
321
|
-
this.loadUserDataAndContinue(req, res, next, userId, loadUser, debug, onError);
|
|
292
|
+
next();
|
|
322
293
|
} catch (error) {
|
|
323
294
|
const apiError = this.handleError(error);
|
|
324
295
|
|
|
@@ -332,54 +303,5 @@ export class OxyServices {
|
|
|
332
303
|
};
|
|
333
304
|
}
|
|
334
305
|
|
|
335
|
-
|
|
336
|
-
* Helper method to load user data and continue middleware chain
|
|
337
|
-
*/
|
|
338
|
-
private loadUserDataAndContinue(
|
|
339
|
-
req: any,
|
|
340
|
-
res: any,
|
|
341
|
-
next: any,
|
|
342
|
-
userId: string,
|
|
343
|
-
loadUser: boolean,
|
|
344
|
-
debug: boolean,
|
|
345
|
-
onError?: (error: ApiError) => any
|
|
346
|
-
): void {
|
|
347
|
-
// Set request properties
|
|
348
|
-
req.userId = userId;
|
|
349
|
-
req.accessToken = req.headers['authorization']?.substring(7) || null;
|
|
350
|
-
|
|
351
|
-
// Load user data if requested
|
|
352
|
-
if (loadUser) {
|
|
353
|
-
this.client.get(`/users/${userId}`)
|
|
354
|
-
.then(userRes => {
|
|
355
|
-
req.user = userRes.data;
|
|
356
|
-
|
|
357
|
-
if (debug) {
|
|
358
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
next();
|
|
362
|
-
})
|
|
363
|
-
.catch(userError => {
|
|
364
|
-
// If user loading fails, just use minimal user data
|
|
365
|
-
req.user = { id: userId } as User;
|
|
366
|
-
|
|
367
|
-
if (debug) {
|
|
368
|
-
console.log(`⚠️ Auth: Failed to load user data, using minimal data`);
|
|
369
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
next();
|
|
373
|
-
});
|
|
374
|
-
} else {
|
|
375
|
-
// Use minimal user data for performance
|
|
376
|
-
req.user = { id: userId } as User;
|
|
377
|
-
|
|
378
|
-
if (debug) {
|
|
379
|
-
console.log(`✅ Auth: Authentication successful for user ${userId}`);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
next();
|
|
383
|
-
}
|
|
384
|
-
}
|
|
306
|
+
|
|
385
307
|
}
|