@windrun-huaiin/backend-core 29.0.0 → 29.0.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/auth/auth-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,EAAE,CAsBV;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IACnD,kBAAkB,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IAClD,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IAC/C,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,UAAU,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;CACnG;
|
|
1
|
+
{"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/auth/auth-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,EAAE,CAsBV;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IACnD,kBAAkB,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IAClD,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IAC/C,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,UAAU,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;CACnG;AA0BD,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAKT;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,qBAAqB,wCA6C/B"}
|
|
@@ -22,6 +22,15 @@ function buildProtectedPageRoutePatterns(protectedRoots, locales) {
|
|
|
22
22
|
}
|
|
23
23
|
return [...patterns];
|
|
24
24
|
}
|
|
25
|
+
function isClerkDebugEnabled() {
|
|
26
|
+
return process.env.CLERK_DEBUG === 'true';
|
|
27
|
+
}
|
|
28
|
+
function logClerkDebug(message, ...args) {
|
|
29
|
+
if (!isClerkDebugEnabled()) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log(message, ...args);
|
|
33
|
+
}
|
|
25
34
|
function authenticateWithClerk(auth) {
|
|
26
35
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
27
36
|
const { userId } = yield auth();
|
|
@@ -49,7 +58,7 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
49
58
|
return (yield auth()).redirectToSignIn();
|
|
50
59
|
}
|
|
51
60
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
52
|
-
|
|
61
|
+
logClerkDebug('Forward auth context for protected page:', identity.provider, identity.providerUserId);
|
|
53
62
|
return intlMiddleware(new server.NextRequest(req.url, {
|
|
54
63
|
headers: requestHeaders,
|
|
55
64
|
method: req.method,
|
|
@@ -62,7 +71,7 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
62
71
|
return (yield auth()).redirectToSignIn();
|
|
63
72
|
}
|
|
64
73
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
65
|
-
|
|
74
|
+
logClerkDebug('Forward auth context for protected API:', identity.provider, identity.providerUserId);
|
|
66
75
|
return server.NextResponse.next({
|
|
67
76
|
request: {
|
|
68
77
|
headers: requestHeaders,
|
|
@@ -70,11 +79,11 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
70
79
|
});
|
|
71
80
|
}
|
|
72
81
|
if (publicApiRoutes(req)) {
|
|
73
|
-
|
|
82
|
+
logClerkDebug('Public API route, no auth required:', req.nextUrl.pathname);
|
|
74
83
|
return server.NextResponse.next();
|
|
75
84
|
}
|
|
76
85
|
if (req.nextUrl.pathname.startsWith('/api/')) {
|
|
77
|
-
|
|
86
|
+
logClerkDebug('Other API route, no internationalization:', req.nextUrl.pathname);
|
|
78
87
|
return server.NextResponse.next();
|
|
79
88
|
}
|
|
80
89
|
return null;
|
|
@@ -20,6 +20,15 @@ function buildProtectedPageRoutePatterns(protectedRoots, locales) {
|
|
|
20
20
|
}
|
|
21
21
|
return [...patterns];
|
|
22
22
|
}
|
|
23
|
+
function isClerkDebugEnabled() {
|
|
24
|
+
return process.env.CLERK_DEBUG === 'true';
|
|
25
|
+
}
|
|
26
|
+
function logClerkDebug(message, ...args) {
|
|
27
|
+
if (!isClerkDebugEnabled()) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
console.log(message, ...args);
|
|
31
|
+
}
|
|
23
32
|
function authenticateWithClerk(auth) {
|
|
24
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
34
|
const { userId } = yield auth();
|
|
@@ -47,7 +56,7 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
47
56
|
return (yield auth()).redirectToSignIn();
|
|
48
57
|
}
|
|
49
58
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
50
|
-
|
|
59
|
+
logClerkDebug('Forward auth context for protected page:', identity.provider, identity.providerUserId);
|
|
51
60
|
return intlMiddleware(new NextRequest(req.url, {
|
|
52
61
|
headers: requestHeaders,
|
|
53
62
|
method: req.method,
|
|
@@ -60,7 +69,7 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
60
69
|
return (yield auth()).redirectToSignIn();
|
|
61
70
|
}
|
|
62
71
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
63
|
-
|
|
72
|
+
logClerkDebug('Forward auth context for protected API:', identity.provider, identity.providerUserId);
|
|
64
73
|
return NextResponse.next({
|
|
65
74
|
request: {
|
|
66
75
|
headers: requestHeaders,
|
|
@@ -68,11 +77,11 @@ function handleAuthMiddleware(auth, req, options) {
|
|
|
68
77
|
});
|
|
69
78
|
}
|
|
70
79
|
if (publicApiRoutes(req)) {
|
|
71
|
-
|
|
80
|
+
logClerkDebug('Public API route, no auth required:', req.nextUrl.pathname);
|
|
72
81
|
return NextResponse.next();
|
|
73
82
|
}
|
|
74
83
|
if (req.nextUrl.pathname.startsWith('/api/')) {
|
|
75
|
-
|
|
84
|
+
logClerkDebug('Other API route, no internationalization:', req.nextUrl.pathname);
|
|
76
85
|
return NextResponse.next();
|
|
77
86
|
}
|
|
78
87
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@windrun-huaiin/backend-core",
|
|
3
|
-
"version": "29.0.
|
|
3
|
+
"version": "29.0.2",
|
|
4
4
|
"description": "Shared backend primitives: Prisma schema/client, database services, routing helpers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -148,9 +148,9 @@
|
|
|
148
148
|
"svix": "^1.86.0",
|
|
149
149
|
"tslib": "^2.8.1",
|
|
150
150
|
"zod": "^4.3.6",
|
|
151
|
-
"@windrun-huaiin/
|
|
152
|
-
"@windrun-huaiin/
|
|
153
|
-
"@windrun-huaiin/
|
|
151
|
+
"@windrun-huaiin/contracts": "^29.0.0",
|
|
152
|
+
"@windrun-huaiin/third-ui": "^29.0.3",
|
|
153
|
+
"@windrun-huaiin/lib": "^29.0.0"
|
|
154
154
|
},
|
|
155
155
|
"devDependencies": {
|
|
156
156
|
"@rollup/plugin-alias": "^5.1.1",
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"peerDependencies": {
|
|
165
165
|
"@windrun-huaiin/contracts": ">=22.0.0",
|
|
166
166
|
"@clerk/nextjs": "^7.0.5",
|
|
167
|
-
"@prisma/client": "^
|
|
167
|
+
"@prisma/client": "^7.8.0",
|
|
168
168
|
"next": "16.1.6",
|
|
169
169
|
"stripe": "22.0.2",
|
|
170
170
|
"svix": "^1.86.0"
|
|
@@ -36,6 +36,18 @@ export interface AuthMiddlewareOptions {
|
|
|
36
36
|
intlMiddleware: (req: NextRequest) => ReturnType<typeof NextResponse.next> | Response | undefined;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
function isClerkDebugEnabled() {
|
|
40
|
+
return process.env.CLERK_DEBUG === 'true';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function logClerkDebug(message: string, ...args: unknown[]) {
|
|
44
|
+
if (!isClerkDebugEnabled()) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
console.log(message, ...args);
|
|
49
|
+
}
|
|
50
|
+
|
|
39
51
|
async function authenticateWithClerk(auth: ClerkMiddlewareAuth): Promise<ProviderIdentity | null> {
|
|
40
52
|
const { userId } = await auth();
|
|
41
53
|
if (!userId) {
|
|
@@ -71,7 +83,7 @@ export async function handleAuthMiddleware(
|
|
|
71
83
|
return (await auth()).redirectToSignIn();
|
|
72
84
|
}
|
|
73
85
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
74
|
-
|
|
86
|
+
logClerkDebug('Forward auth context for protected page:', identity.provider, identity.providerUserId);
|
|
75
87
|
return intlMiddleware(
|
|
76
88
|
new NextRequest(req.url, {
|
|
77
89
|
headers: requestHeaders,
|
|
@@ -87,7 +99,7 @@ export async function handleAuthMiddleware(
|
|
|
87
99
|
return (await auth()).redirectToSignIn();
|
|
88
100
|
}
|
|
89
101
|
const requestHeaders = buildAuthenticatedRequestHeaders(req, identity);
|
|
90
|
-
|
|
102
|
+
logClerkDebug('Forward auth context for protected API:', identity.provider, identity.providerUserId);
|
|
91
103
|
return NextResponse.next({
|
|
92
104
|
request: {
|
|
93
105
|
headers: requestHeaders,
|
|
@@ -96,12 +108,12 @@ export async function handleAuthMiddleware(
|
|
|
96
108
|
}
|
|
97
109
|
|
|
98
110
|
if (publicApiRoutes(req)) {
|
|
99
|
-
|
|
111
|
+
logClerkDebug('Public API route, no auth required:', req.nextUrl.pathname);
|
|
100
112
|
return NextResponse.next();
|
|
101
113
|
}
|
|
102
114
|
|
|
103
115
|
if (req.nextUrl.pathname.startsWith('/api/')) {
|
|
104
|
-
|
|
116
|
+
logClerkDebug('Other API route, no internationalization:', req.nextUrl.pathname);
|
|
105
117
|
return NextResponse.next();
|
|
106
118
|
}
|
|
107
119
|
|