@oxyhq/services 5.9.0 → 5.9.2
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/index.js +26 -110
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/middleware.js +17 -0
- package/lib/commonjs/middleware.js.map +1 -0
- package/lib/commonjs/types/middleware.js +6 -0
- package/lib/commonjs/types/middleware.js.map +1 -0
- package/lib/module/core/index.js +27 -110
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/middleware.js +12 -0
- package/lib/module/middleware.js.map +1 -0
- package/lib/module/types/middleware.js +4 -0
- package/lib/module/types/middleware.js.map +1 -0
- package/lib/typescript/core/index.d.ts +5 -8
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/middleware.d.ts +9 -0
- package/lib/typescript/middleware.d.ts.map +1 -0
- package/lib/typescript/types/middleware.d.ts +19 -0
- package/lib/typescript/types/middleware.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/core/index.ts +29 -125
- package/src/index.ts +4 -0
- package/src/middleware.ts +11 -0
- package/src/types/middleware.ts +20 -0
|
@@ -1275,134 +1275,47 @@ class OxyServices {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
|
|
1277
1277
|
/**
|
|
1278
|
-
*
|
|
1279
|
-
* This
|
|
1280
|
-
* @param options - Configuration options for the middleware
|
|
1278
|
+
* Create authentication middleware for Express.js applications
|
|
1279
|
+
* This is the recommended way to protect routes in server applications
|
|
1281
1280
|
* @returns Express middleware function
|
|
1282
1281
|
*/
|
|
1283
|
-
|
|
1284
|
-
const {
|
|
1285
|
-
loadFullUser = true,
|
|
1286
|
-
onError
|
|
1287
|
-
} = options;
|
|
1282
|
+
createAuthMiddleware() {
|
|
1288
1283
|
return async (req, res, next) => {
|
|
1289
1284
|
try {
|
|
1290
|
-
const authHeader = req.headers
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
if (!token) {
|
|
1294
|
-
const error = {
|
|
1295
|
-
message: 'Access token required',
|
|
1296
|
-
code: 'MISSING_TOKEN',
|
|
1297
|
-
status: 401
|
|
1298
|
-
};
|
|
1299
|
-
if (onError) {
|
|
1300
|
-
return onError(error);
|
|
1301
|
-
}
|
|
1285
|
+
const authHeader = req.headers.authorization;
|
|
1286
|
+
if (!authHeader?.startsWith('Bearer ')) {
|
|
1302
1287
|
return res.status(401).json({
|
|
1303
|
-
|
|
1304
|
-
|
|
1288
|
+
error: 'Authentication required',
|
|
1289
|
+
message: 'Invalid or missing authorization header'
|
|
1305
1290
|
});
|
|
1306
1291
|
}
|
|
1292
|
+
const token = authHeader.split(' ')[1];
|
|
1307
1293
|
|
|
1308
|
-
//
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
if (decoded.sessionId) {
|
|
1315
|
-
// Use session-based validation
|
|
1316
|
-
const tempOxyServices = new OxyServices({
|
|
1317
|
-
baseURL: this.client.defaults.baseURL || ''
|
|
1318
|
-
});
|
|
1319
|
-
tempOxyServices.setTokens(token, '');
|
|
1320
|
-
const validation = await tempOxyServices.validateSession(decoded.sessionId);
|
|
1321
|
-
isValid = validation.valid;
|
|
1322
|
-
if (isValid && loadFullUser) {
|
|
1323
|
-
req.user = validation.user;
|
|
1324
|
-
}
|
|
1325
|
-
} else {
|
|
1326
|
-
// Use old validation method
|
|
1327
|
-
const tempOxyServices = new OxyServices({
|
|
1328
|
-
baseURL: this.client.defaults.baseURL || ''
|
|
1329
|
-
});
|
|
1330
|
-
tempOxyServices.setTokens(token, '');
|
|
1331
|
-
isValid = await tempOxyServices.validate();
|
|
1332
|
-
if (isValid && loadFullUser) {
|
|
1333
|
-
try {
|
|
1334
|
-
const userProfile = await tempOxyServices.getUserById(userId);
|
|
1335
|
-
req.user = userProfile;
|
|
1336
|
-
} catch (userError) {
|
|
1337
|
-
// If we can't load user, continue with just ID
|
|
1338
|
-
req.user = {
|
|
1339
|
-
id: userId
|
|
1340
|
-
};
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
} catch (decodeError) {
|
|
1345
|
-
const error = {
|
|
1346
|
-
message: 'Invalid token payload',
|
|
1347
|
-
code: 'INVALID_PAYLOAD',
|
|
1348
|
-
status: 403
|
|
1349
|
-
};
|
|
1350
|
-
if (onError) {
|
|
1351
|
-
return onError(error);
|
|
1352
|
-
}
|
|
1353
|
-
return res.status(403).json({
|
|
1354
|
-
message: 'Invalid token payload',
|
|
1355
|
-
code: 'INVALID_PAYLOAD'
|
|
1356
|
-
});
|
|
1357
|
-
}
|
|
1358
|
-
if (!isValid) {
|
|
1359
|
-
const error = {
|
|
1360
|
-
message: 'Invalid or expired token',
|
|
1361
|
-
code: 'INVALID_TOKEN',
|
|
1362
|
-
status: 403
|
|
1363
|
-
};
|
|
1364
|
-
if (onError) {
|
|
1365
|
-
return onError(error);
|
|
1366
|
-
}
|
|
1367
|
-
return res.status(403).json({
|
|
1368
|
-
message: 'Invalid or expired token',
|
|
1369
|
-
code: 'INVALID_TOKEN'
|
|
1370
|
-
});
|
|
1371
|
-
}
|
|
1372
|
-
if (!userId) {
|
|
1373
|
-
const error = {
|
|
1374
|
-
message: 'Invalid token payload',
|
|
1375
|
-
code: 'INVALID_PAYLOAD',
|
|
1376
|
-
status: 403
|
|
1377
|
-
};
|
|
1378
|
-
if (onError) {
|
|
1379
|
-
return onError(error);
|
|
1380
|
-
}
|
|
1381
|
-
return res.status(403).json({
|
|
1382
|
-
message: 'Invalid token payload',
|
|
1383
|
-
code: 'INVALID_PAYLOAD'
|
|
1294
|
+
// Use the authenticateToken method
|
|
1295
|
+
const result = await this.authenticateToken(token);
|
|
1296
|
+
if (!result.valid) {
|
|
1297
|
+
return res.status(401).json({
|
|
1298
|
+
error: 'Invalid token',
|
|
1299
|
+
message: result.error || 'The provided authentication token is invalid'
|
|
1384
1300
|
});
|
|
1385
1301
|
}
|
|
1386
1302
|
|
|
1387
1303
|
// Set user information on request object
|
|
1388
|
-
req.userId = userId;
|
|
1304
|
+
req.userId = result.userId || undefined;
|
|
1389
1305
|
req.accessToken = token;
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
if (
|
|
1306
|
+
if (result.user) {
|
|
1307
|
+
req.user = result.user;
|
|
1308
|
+
} else if (result.userId) {
|
|
1393
1309
|
req.user = {
|
|
1394
|
-
id: userId
|
|
1310
|
+
id: result.userId
|
|
1395
1311
|
};
|
|
1396
1312
|
}
|
|
1397
1313
|
next();
|
|
1398
1314
|
} catch (error) {
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
return res.status(apiError.status || 500).json({
|
|
1404
|
-
message: apiError.message,
|
|
1405
|
-
code: apiError.code
|
|
1315
|
+
console.error('Auth middleware error:', error);
|
|
1316
|
+
return res.status(500).json({
|
|
1317
|
+
error: 'Server error',
|
|
1318
|
+
message: 'An error occurred while authenticating your request'
|
|
1406
1319
|
});
|
|
1407
1320
|
}
|
|
1408
1321
|
};
|
|
@@ -1819,6 +1732,9 @@ class OxyServices {
|
|
|
1819
1732
|
// Default export for backward compatibility
|
|
1820
1733
|
exports.OxyServices = OxyServices;
|
|
1821
1734
|
var _default = exports.default = OxyServices; // Re-export all models and types for convenience
|
|
1735
|
+
// Clean middleware exports - these will be available for server-side use
|
|
1736
|
+
// Note: These require Express.js and are only for server-side applications
|
|
1737
|
+
|
|
1822
1738
|
if (typeof FormData === 'undefined') {
|
|
1823
1739
|
console.warn('[OxyHQ/Services] FormData is not available. If you are using Hermes, add "import \'react-native-url-polyfill/auto\'" at the top of your app entry file.');
|
|
1824
1740
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_jwtDecode","_deviceManager","_interfaces","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_secureSession","e","__esModule","default","OXY_CLOUD_URL","OxyServices","accessToken","refreshToken","constructor","config","client","axios","create","baseURL","timeout","interceptors","request","use","req","decoded","jwtDecode","currentTime","Math","floor","Date","now","exp","sessionId","res","data","refreshError","clearTokens","error","console","warn","headers","Authorization","response","originalRequest","status","newRequest","Promise","reject","apiError","message","code","details","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","decodeError","getDeviceSessions","deviceId","params","sessions","map","session","deviceName","deviceInfo","isActive","lastActive","expiresAt","toISOString","isCurrent","user","createdAt","handleError","logoutAllDeviceSessions","excludeCurrent","undefined","post","updateDeviceName","put","getProfileByUsername","username","searchProfiles","query","limit","offset","getProfileRecommendations","getUserById","getCurrentUser","log","hasUser","userLinksMetadata","linksMetadata","userLinks","links","userWebsite","website","updateProfile","updates","updateUser","followUser","unfollowUser","delete","getFollowStatus","getUserFollowers","getUserFollowing","getNotifications","getUnreadCount","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification","processPayment","validatePaymentMethod","paymentMethod","getPaymentMethods","getAnalytics","period","userID","updateAnalytics","type","getContentViewers","getFollowerDetails","getWallet","getTransactionHistory","getTransaction","transactionId","transferFunds","processPurchase","requestWithdrawal","getKarmaLeaderboard","getKarmaRules","getUserKarmaTotal","getUserKarmaHistory","awardKarma","deductKarma","createOrUpdateKarmaRule","uploadFile","file","filename","metadata","Error","uploadFiles","files","filenames","getFileMetadata","fileId","updateFileMetadata","deleteFile","getFileDownloadUrl","getFileStreamUrl","listUserFiles","filters","assign","rawFiles","Array","isArray","filesArray","_id","toString","uploadDate","total","length","hasMore","signUp","email","password","loginRes","secureLogin","tokenRes","getTokenBySession","token","deviceFingerprint","payload","getUserBySession","getSessionsBySessionId","logoutSecureSession","targetSessionId","logoutAllSecureSessions","axiosError","validateSession","validateSessionFromHeader","validateSessionAuto","createAuthenticateTokenMiddleware","options","loadFullUser","onError","next","authHeader","split","json","isValid","tempOxyServices","validation","userProfile","userError","authenticateToken","checkUsernameAvailability","available","checkEmailAvailability","getUserProfileByUsername","healthCheck","downloadFileContent","downloadUrl","fetch","ok","statusText","getFileContentAsText","text","getFileContentAsBlob","blob","fetchLinkMetadata","url","searchLocations","countrycodes","URLSearchParams","append","results","getLocationDetails","lat","lon","result","findLocationsNear","maxDistance","skip","searchLocationsInDB","country","city","getLocationStats","stats","getLocationCacheStats","clearLocationCache","getLocationPerformanceStats","_default","FormData"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_jwtDecode","_deviceManager","_interfaces","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_secureSession","e","__esModule","default","OXY_CLOUD_URL","OxyServices","accessToken","refreshToken","constructor","config","client","axios","create","baseURL","timeout","interceptors","request","use","req","decoded","jwtDecode","currentTime","Math","floor","Date","now","exp","sessionId","res","data","refreshError","clearTokens","error","console","warn","headers","Authorization","response","originalRequest","status","newRequest","Promise","reject","apiError","message","code","details","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","decodeError","getDeviceSessions","deviceId","params","sessions","map","session","deviceName","deviceInfo","isActive","lastActive","expiresAt","toISOString","isCurrent","user","createdAt","handleError","logoutAllDeviceSessions","excludeCurrent","undefined","post","updateDeviceName","put","getProfileByUsername","username","searchProfiles","query","limit","offset","getProfileRecommendations","getUserById","getCurrentUser","log","hasUser","userLinksMetadata","linksMetadata","userLinks","links","userWebsite","website","updateProfile","updates","updateUser","followUser","unfollowUser","delete","getFollowStatus","getUserFollowers","getUserFollowing","getNotifications","getUnreadCount","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification","processPayment","validatePaymentMethod","paymentMethod","getPaymentMethods","getAnalytics","period","userID","updateAnalytics","type","getContentViewers","getFollowerDetails","getWallet","getTransactionHistory","getTransaction","transactionId","transferFunds","processPurchase","requestWithdrawal","getKarmaLeaderboard","getKarmaRules","getUserKarmaTotal","getUserKarmaHistory","awardKarma","deductKarma","createOrUpdateKarmaRule","uploadFile","file","filename","metadata","Error","uploadFiles","files","filenames","getFileMetadata","fileId","updateFileMetadata","deleteFile","getFileDownloadUrl","getFileStreamUrl","listUserFiles","filters","assign","rawFiles","Array","isArray","filesArray","_id","toString","uploadDate","total","length","hasMore","signUp","email","password","loginRes","secureLogin","tokenRes","getTokenBySession","token","deviceFingerprint","payload","getUserBySession","getSessionsBySessionId","logoutSecureSession","targetSessionId","logoutAllSecureSessions","axiosError","validateSession","validateSessionFromHeader","validateSessionAuto","createAuthMiddleware","next","authHeader","authorization","startsWith","json","split","result","authenticateToken","tempOxyServices","validation","isValid","checkUsernameAvailability","available","checkEmailAvailability","getUserProfileByUsername","healthCheck","downloadFileContent","downloadUrl","fetch","ok","statusText","getFileContentAsText","text","getFileContentAsBlob","blob","fetchLinkMetadata","url","searchLocations","countrycodes","URLSearchParams","append","results","getLocationDetails","lat","lon","findLocationsNear","maxDistance","skip","searchLocationsInDB","country","city","getLocationStats","stats","getLocationCacheStats","clearLocationCache","getLocationPerformanceStats","_default","FormData"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -51,6 +51,12 @@ Object.defineProperty(exports, "OxySignInButton", {
|
|
|
51
51
|
return _OxySignInButton.OxySignInButton;
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
+
Object.defineProperty(exports, "createAuthMiddleware", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _middleware.createAuthMiddleware;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
54
60
|
Object.defineProperty(exports, "useAuthStore", {
|
|
55
61
|
enumerable: true,
|
|
56
62
|
get: function () {
|
|
@@ -70,6 +76,7 @@ Object.defineProperty(exports, "useSessionSocket", {
|
|
|
70
76
|
}
|
|
71
77
|
});
|
|
72
78
|
var _core = require("./core");
|
|
79
|
+
var _middleware = require("./middleware");
|
|
73
80
|
var _OxyContext = require("./ui/context/OxyContext");
|
|
74
81
|
var _OxyProvider = _interopRequireDefault(require("./ui/components/OxyProvider"));
|
|
75
82
|
var _deviceManager = require("./utils/deviceManager");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_OxyContext","_OxyProvider","_interopRequireDefault","_deviceManager","_authStore","_useSessionSocket","_OxySignInButton","_ui","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_core","require","_middleware","_OxyContext","_OxyProvider","_interopRequireDefault","_deviceManager","_authStore","_useSessionSocket","_OxySignInButton","_ui","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AAMA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAGA,IAAAK,cAAA,GAAAL,OAAA;AA4CA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAGA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,GAAA,GAAAT,OAAA;AAA6C,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createAuthMiddleware = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Create authentication middleware for Express.js applications
|
|
9
|
+
* This is the recommended way to protect routes in server applications
|
|
10
|
+
* @param oxyServices - An instance of OxyServices
|
|
11
|
+
* @returns Express middleware function
|
|
12
|
+
*/
|
|
13
|
+
const createAuthMiddleware = oxyServices => {
|
|
14
|
+
return oxyServices.createAuthMiddleware();
|
|
15
|
+
};
|
|
16
|
+
exports.createAuthMiddleware = createAuthMiddleware;
|
|
17
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAuthMiddleware","oxyServices","exports"],"sourceRoot":"../../src","sources":["middleware.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAIC,WAAwB,IAAK;EAChE,OAAOA,WAAW,CAACD,oBAAoB,CAAC,CAAC;AAC3C,CAAC;AAACE,OAAA,CAAAF,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/middleware.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/core/index.js
CHANGED
|
@@ -1235,134 +1235,47 @@ export class OxyServices {
|
|
|
1235
1235
|
}
|
|
1236
1236
|
|
|
1237
1237
|
/**
|
|
1238
|
-
*
|
|
1239
|
-
* This
|
|
1240
|
-
* @param options - Configuration options for the middleware
|
|
1238
|
+
* Create authentication middleware for Express.js applications
|
|
1239
|
+
* This is the recommended way to protect routes in server applications
|
|
1241
1240
|
* @returns Express middleware function
|
|
1242
1241
|
*/
|
|
1243
|
-
|
|
1244
|
-
const {
|
|
1245
|
-
loadFullUser = true,
|
|
1246
|
-
onError
|
|
1247
|
-
} = options;
|
|
1242
|
+
createAuthMiddleware() {
|
|
1248
1243
|
return async (req, res, next) => {
|
|
1249
1244
|
try {
|
|
1250
|
-
const authHeader = req.headers
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
if (!token) {
|
|
1254
|
-
const error = {
|
|
1255
|
-
message: 'Access token required',
|
|
1256
|
-
code: 'MISSING_TOKEN',
|
|
1257
|
-
status: 401
|
|
1258
|
-
};
|
|
1259
|
-
if (onError) {
|
|
1260
|
-
return onError(error);
|
|
1261
|
-
}
|
|
1245
|
+
const authHeader = req.headers.authorization;
|
|
1246
|
+
if (!authHeader?.startsWith('Bearer ')) {
|
|
1262
1247
|
return res.status(401).json({
|
|
1263
|
-
|
|
1264
|
-
|
|
1248
|
+
error: 'Authentication required',
|
|
1249
|
+
message: 'Invalid or missing authorization header'
|
|
1265
1250
|
});
|
|
1266
1251
|
}
|
|
1252
|
+
const token = authHeader.split(' ')[1];
|
|
1267
1253
|
|
|
1268
|
-
//
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
if (decoded.sessionId) {
|
|
1275
|
-
// Use session-based validation
|
|
1276
|
-
const tempOxyServices = new OxyServices({
|
|
1277
|
-
baseURL: this.client.defaults.baseURL || ''
|
|
1278
|
-
});
|
|
1279
|
-
tempOxyServices.setTokens(token, '');
|
|
1280
|
-
const validation = await tempOxyServices.validateSession(decoded.sessionId);
|
|
1281
|
-
isValid = validation.valid;
|
|
1282
|
-
if (isValid && loadFullUser) {
|
|
1283
|
-
req.user = validation.user;
|
|
1284
|
-
}
|
|
1285
|
-
} else {
|
|
1286
|
-
// Use old validation method
|
|
1287
|
-
const tempOxyServices = new OxyServices({
|
|
1288
|
-
baseURL: this.client.defaults.baseURL || ''
|
|
1289
|
-
});
|
|
1290
|
-
tempOxyServices.setTokens(token, '');
|
|
1291
|
-
isValid = await tempOxyServices.validate();
|
|
1292
|
-
if (isValid && loadFullUser) {
|
|
1293
|
-
try {
|
|
1294
|
-
const userProfile = await tempOxyServices.getUserById(userId);
|
|
1295
|
-
req.user = userProfile;
|
|
1296
|
-
} catch (userError) {
|
|
1297
|
-
// If we can't load user, continue with just ID
|
|
1298
|
-
req.user = {
|
|
1299
|
-
id: userId
|
|
1300
|
-
};
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
} catch (decodeError) {
|
|
1305
|
-
const error = {
|
|
1306
|
-
message: 'Invalid token payload',
|
|
1307
|
-
code: 'INVALID_PAYLOAD',
|
|
1308
|
-
status: 403
|
|
1309
|
-
};
|
|
1310
|
-
if (onError) {
|
|
1311
|
-
return onError(error);
|
|
1312
|
-
}
|
|
1313
|
-
return res.status(403).json({
|
|
1314
|
-
message: 'Invalid token payload',
|
|
1315
|
-
code: 'INVALID_PAYLOAD'
|
|
1316
|
-
});
|
|
1317
|
-
}
|
|
1318
|
-
if (!isValid) {
|
|
1319
|
-
const error = {
|
|
1320
|
-
message: 'Invalid or expired token',
|
|
1321
|
-
code: 'INVALID_TOKEN',
|
|
1322
|
-
status: 403
|
|
1323
|
-
};
|
|
1324
|
-
if (onError) {
|
|
1325
|
-
return onError(error);
|
|
1326
|
-
}
|
|
1327
|
-
return res.status(403).json({
|
|
1328
|
-
message: 'Invalid or expired token',
|
|
1329
|
-
code: 'INVALID_TOKEN'
|
|
1330
|
-
});
|
|
1331
|
-
}
|
|
1332
|
-
if (!userId) {
|
|
1333
|
-
const error = {
|
|
1334
|
-
message: 'Invalid token payload',
|
|
1335
|
-
code: 'INVALID_PAYLOAD',
|
|
1336
|
-
status: 403
|
|
1337
|
-
};
|
|
1338
|
-
if (onError) {
|
|
1339
|
-
return onError(error);
|
|
1340
|
-
}
|
|
1341
|
-
return res.status(403).json({
|
|
1342
|
-
message: 'Invalid token payload',
|
|
1343
|
-
code: 'INVALID_PAYLOAD'
|
|
1254
|
+
// Use the authenticateToken method
|
|
1255
|
+
const result = await this.authenticateToken(token);
|
|
1256
|
+
if (!result.valid) {
|
|
1257
|
+
return res.status(401).json({
|
|
1258
|
+
error: 'Invalid token',
|
|
1259
|
+
message: result.error || 'The provided authentication token is invalid'
|
|
1344
1260
|
});
|
|
1345
1261
|
}
|
|
1346
1262
|
|
|
1347
1263
|
// Set user information on request object
|
|
1348
|
-
req.userId = userId;
|
|
1264
|
+
req.userId = result.userId || undefined;
|
|
1349
1265
|
req.accessToken = token;
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
if (
|
|
1266
|
+
if (result.user) {
|
|
1267
|
+
req.user = result.user;
|
|
1268
|
+
} else if (result.userId) {
|
|
1353
1269
|
req.user = {
|
|
1354
|
-
id: userId
|
|
1270
|
+
id: result.userId
|
|
1355
1271
|
};
|
|
1356
1272
|
}
|
|
1357
1273
|
next();
|
|
1358
1274
|
} catch (error) {
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
return res.status(apiError.status || 500).json({
|
|
1364
|
-
message: apiError.message,
|
|
1365
|
-
code: apiError.code
|
|
1275
|
+
console.error('Auth middleware error:', error);
|
|
1276
|
+
return res.status(500).json({
|
|
1277
|
+
error: 'Server error',
|
|
1278
|
+
message: 'An error occurred while authenticating your request'
|
|
1366
1279
|
});
|
|
1367
1280
|
}
|
|
1368
1281
|
};
|
|
@@ -1782,6 +1695,10 @@ export default OxyServices;
|
|
|
1782
1695
|
// Re-export all models and types for convenience
|
|
1783
1696
|
export * from '../models/interfaces';
|
|
1784
1697
|
export * from '../models/secureSession';
|
|
1698
|
+
|
|
1699
|
+
// Clean middleware exports - these will be available for server-side use
|
|
1700
|
+
// Note: These require Express.js and are only for server-side applications
|
|
1701
|
+
|
|
1785
1702
|
if (typeof FormData === 'undefined') {
|
|
1786
1703
|
console.warn('[OxyHQ/Services] FormData is not available. If you are using Hermes, add "import \'react-native-url-polyfill/auto\'" at the top of your app entry file.');
|
|
1787
1704
|
}
|