@payez/next-mvp 4.0.32 → 4.0.34
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/dist/lib/idp-fetch.js +44 -0
- package/dist/lib/session-store.js +3 -3
- package/package.json +1 -1
- package/src/lib/idp-fetch.ts +10 -0
- package/src/lib/session-store.ts +3 -3
package/dist/lib/idp-fetch.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.idpFetchJSON = idpFetchJSON;
|
|
4
37
|
const test_aware_get_token_1 = require("./test-aware-get-token");
|
|
@@ -34,6 +67,17 @@ async function ensureFreshAccessToken(req) {
|
|
|
34
67
|
return {};
|
|
35
68
|
}
|
|
36
69
|
let session = await (0, session_store_1.getSession)(sessionToken);
|
|
70
|
+
// Fall back to Better Auth: decode session from cookies to get IDP tokens
|
|
71
|
+
if (!session?.idpAccessToken) {
|
|
72
|
+
try {
|
|
73
|
+
const { decodeSession } = await Promise.resolve().then(() => __importStar(require('../server/decode-session')));
|
|
74
|
+
const decoded = await decodeSession(req.cookies);
|
|
75
|
+
if (decoded?.sessionData?.idpAccessToken) {
|
|
76
|
+
session = decoded.sessionData;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch { /* decodeSession unavailable in edge */ }
|
|
80
|
+
}
|
|
37
81
|
console.log('[IDP_FETCH] Redis session lookup:', {
|
|
38
82
|
hasSession: !!session,
|
|
39
83
|
hasAccessToken: !!session?.idpAccessToken,
|
|
@@ -408,7 +408,7 @@ async function acquireRefreshLock(sessionToken, requestId, maxWaitMs = 5000) {
|
|
|
408
408
|
// Try to acquire the lock atomically
|
|
409
409
|
const result = await redis_1.default.set(lockKey, JSON.stringify(lockInfo), 'PX', REFRESH_LOCK_TTL * 1000, 'NX');
|
|
410
410
|
if (result === 'OK') {
|
|
411
|
-
console.
|
|
411
|
+
console.debug('[SESSION-STORE] Refresh lock acquired', {
|
|
412
412
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
413
413
|
requestId,
|
|
414
414
|
lockVersion
|
|
@@ -418,7 +418,7 @@ async function acquireRefreshLock(sessionToken, requestId, maxWaitMs = 5000) {
|
|
|
418
418
|
else {
|
|
419
419
|
// Lock already exists, check if we should wait
|
|
420
420
|
if (maxWaitMs > 0) {
|
|
421
|
-
console.
|
|
421
|
+
console.debug('[SESSION-STORE] Refresh lock already exists, waiting for release', {
|
|
422
422
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
423
423
|
requestId,
|
|
424
424
|
maxWaitMs
|
|
@@ -506,7 +506,7 @@ async function releaseRefreshLock(sessionToken, requestId, lockVersion) {
|
|
|
506
506
|
`;
|
|
507
507
|
const result = await redis_1.default.eval(luaScript, 1, lockKey, requestId, lockVersion ? lockVersion.toString() : '');
|
|
508
508
|
if (result === 1) {
|
|
509
|
-
console.
|
|
509
|
+
console.debug('[SESSION-STORE] Refresh lock released successfully', {
|
|
510
510
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
511
511
|
requestId,
|
|
512
512
|
lockVersion
|
package/package.json
CHANGED
package/src/lib/idp-fetch.ts
CHANGED
|
@@ -44,6 +44,16 @@ async function ensureFreshAccessToken(req: NextRequest): Promise<{ sessionToken?
|
|
|
44
44
|
return {};
|
|
45
45
|
}
|
|
46
46
|
let session = await getSession(sessionToken);
|
|
47
|
+
// Fall back to Better Auth: decode session from cookies to get IDP tokens
|
|
48
|
+
if (!session?.idpAccessToken) {
|
|
49
|
+
try {
|
|
50
|
+
const { decodeSession } = await import('../server/decode-session');
|
|
51
|
+
const decoded = await decodeSession(req.cookies);
|
|
52
|
+
if (decoded?.sessionData?.idpAccessToken) {
|
|
53
|
+
session = decoded.sessionData;
|
|
54
|
+
}
|
|
55
|
+
} catch { /* decodeSession unavailable in edge */ }
|
|
56
|
+
}
|
|
47
57
|
console.log('[IDP_FETCH] Redis session lookup:', {
|
|
48
58
|
hasSession: !!session,
|
|
49
59
|
hasAccessToken: !!session?.idpAccessToken,
|
package/src/lib/session-store.ts
CHANGED
|
@@ -480,7 +480,7 @@ export async function acquireRefreshLock(
|
|
|
480
480
|
const result = await redis.set(lockKey, JSON.stringify(lockInfo), 'PX', REFRESH_LOCK_TTL * 1000, 'NX');
|
|
481
481
|
|
|
482
482
|
if (result === 'OK') {
|
|
483
|
-
console.
|
|
483
|
+
console.debug('[SESSION-STORE] Refresh lock acquired', {
|
|
484
484
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
485
485
|
requestId,
|
|
486
486
|
lockVersion
|
|
@@ -490,7 +490,7 @@ export async function acquireRefreshLock(
|
|
|
490
490
|
} else {
|
|
491
491
|
// Lock already exists, check if we should wait
|
|
492
492
|
if (maxWaitMs > 0) {
|
|
493
|
-
console.
|
|
493
|
+
console.debug('[SESSION-STORE] Refresh lock already exists, waiting for release', {
|
|
494
494
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
495
495
|
requestId,
|
|
496
496
|
maxWaitMs
|
|
@@ -604,7 +604,7 @@ export async function releaseRefreshLock(
|
|
|
604
604
|
) as number;
|
|
605
605
|
|
|
606
606
|
if (result === 1) {
|
|
607
|
-
console.
|
|
607
|
+
console.debug('[SESSION-STORE] Refresh lock released successfully', {
|
|
608
608
|
sessionToken: sessionToken.substring(0, 8) + '...',
|
|
609
609
|
requestId,
|
|
610
610
|
lockVersion
|