@tern-secure/nextjs 5.2.0-canary.v20251028151628 → 5.2.0-canary.v20251030165007
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/cjs/app-router/server/TernSecureProvider.js +1 -1
- package/dist/cjs/app-router/server/TernSecureProvider.js.map +1 -1
- package/dist/cjs/app-router/server/TernSecureProviderNode.js +92 -0
- package/dist/cjs/app-router/server/TernSecureProviderNode.js.map +1 -0
- package/dist/cjs/app-router/server/auth.js +1 -1
- package/dist/cjs/app-router/server/auth.js.map +1 -1
- package/dist/cjs/app-router/server/auth_new.js +41 -0
- package/dist/cjs/app-router/server/auth_new.js.map +1 -0
- package/dist/cjs/boundary/PromiseAuthProvider.js.map +1 -1
- package/dist/cjs/boundary/PromiseAuthProviderNode.js +68 -0
- package/dist/cjs/boundary/PromiseAuthProviderNode.js.map +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/server/constant.js +21 -0
- package/dist/cjs/server/constant.js.map +1 -1
- package/dist/cjs/server/data/getAuthDataFromRequest.js +105 -2
- package/dist/cjs/server/data/getAuthDataFromRequest.js.map +1 -1
- package/dist/cjs/server/index.js +6 -0
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/instrumentation.js +52 -0
- package/dist/cjs/server/instrumentation.js.map +1 -0
- package/dist/esm/app-router/server/TernSecureProvider.js +2 -2
- package/dist/esm/app-router/server/TernSecureProvider.js.map +1 -1
- package/dist/esm/app-router/server/TernSecureProviderNode.js +58 -0
- package/dist/esm/app-router/server/TernSecureProviderNode.js.map +1 -0
- package/dist/esm/app-router/server/auth.js +2 -2
- package/dist/esm/app-router/server/auth.js.map +1 -1
- package/dist/esm/app-router/server/auth_new.js +17 -0
- package/dist/esm/app-router/server/auth_new.js.map +1 -0
- package/dist/esm/boundary/PromiseAuthProvider.js.map +1 -1
- package/dist/esm/boundary/PromiseAuthProviderNode.js +33 -0
- package/dist/esm/boundary/PromiseAuthProviderNode.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/server/constant.js +14 -0
- package/dist/esm/server/constant.js.map +1 -1
- package/dist/esm/server/data/getAuthDataFromRequest.js +101 -1
- package/dist/esm/server/data/getAuthDataFromRequest.js.map +1 -1
- package/dist/esm/server/index.js +6 -0
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/server/instrumentation.js +28 -0
- package/dist/esm/server/instrumentation.js.map +1 -0
- package/dist/types/app-router/server/TernSecureProviderNode.d.ts +4 -0
- package/dist/types/app-router/server/TernSecureProviderNode.d.ts.map +1 -0
- package/dist/types/app-router/server/auth.d.ts +5 -1
- package/dist/types/app-router/server/auth.d.ts.map +1 -1
- package/dist/types/app-router/server/auth_new.d.ts +14 -0
- package/dist/types/app-router/server/auth_new.d.ts.map +1 -0
- package/dist/types/boundary/PromiseAuthProvider.d.ts +2 -2
- package/dist/types/boundary/PromiseAuthProvider.d.ts.map +1 -1
- package/dist/types/boundary/PromiseAuthProviderNode.d.ts +14 -0
- package/dist/types/boundary/PromiseAuthProviderNode.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/server/constant.d.ts +7 -0
- package/dist/types/server/constant.d.ts.map +1 -1
- package/dist/types/server/data/getAuthDataFromRequest.d.ts +32 -0
- package/dist/types/server/data/getAuthDataFromRequest.d.ts.map +1 -1
- package/dist/types/server/index.d.ts +2 -0
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/server/instrumentation.d.ts +27 -0
- package/dist/types/server/instrumentation.d.ts.map +1 -0
- package/package.json +8 -7
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export declare const FIREBASE_API_KEY: string;
|
|
2
|
+
export declare const FIREBASE_AUTH_DOMAIN: string;
|
|
3
|
+
export declare const FIREBASE_PROJECT_ID: string;
|
|
4
|
+
export declare const FIREBASE_STORAGE_BUCKET: string;
|
|
5
|
+
export declare const FIREBASE_MESSAGING_SENDER_ID: string;
|
|
6
|
+
export declare const FIREBASE_APP_ID: string;
|
|
7
|
+
export declare const FIREBASE_MEASUREMENT_ID: string;
|
|
1
8
|
export declare const API_KEY: string;
|
|
2
9
|
export declare const API_URL: string;
|
|
3
10
|
export declare const API_VERSION: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/server/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,QAAiD,CAAC;AACtE,eAAO,MAAM,OAAO,QAAuC,CAAC;AAC5D,eAAO,MAAM,WAAW,QAA6C,CAAC;AACtE,eAAO,MAAM,WAAW,QAA4C,CAAC;AACrE,eAAO,MAAM,WAAW,QAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/server/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAiD,CAAC;AAC/E,eAAO,MAAM,oBAAoB,QAAqD,CAAC;AACvF,eAAO,MAAM,mBAAmB,QAAoD,CAAC;AACrF,eAAO,MAAM,uBAAuB,QAAwD,CAAC;AAC7F,eAAO,MAAM,4BAA4B,QAA6D,CAAC;AACvG,eAAO,MAAM,eAAe,QAAgD,CAAC;AAC7E,eAAO,MAAM,uBAAuB,QAAwD,CAAC;AAE7F,eAAO,MAAM,OAAO,QAAiD,CAAC;AACtE,eAAO,MAAM,OAAO,QAAuC,CAAC;AAC5D,eAAO,MAAM,WAAW,QAA6C,CAAC;AACtE,eAAO,MAAM,WAAW,QAA4C,CAAC;AACrE,eAAO,MAAM,WAAW,QAA4C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AuthObject } from '@tern-secure/backend';
|
|
2
|
+
import type { TernSecureUser } from '@tern-secure/types';
|
|
2
3
|
import type { RequestLike } from '../../server/types';
|
|
3
4
|
/**
|
|
4
5
|
* Auth objects moving through the server -> client boundary need to be serializable
|
|
@@ -23,4 +24,35 @@ export declare function getTernSecureAuthData(req: RequestLike, initialState?: {
|
|
|
23
24
|
error: string | null;
|
|
24
25
|
};
|
|
25
26
|
export declare function getAuthDataFromRequest(req: RequestLike): AuthObject;
|
|
27
|
+
export type SerializableTernSecureUser = Omit<TernSecureUser, 'delete' | 'getIdToken' | 'getIdTokenResult' | 'reload' | 'toJSON'>;
|
|
28
|
+
export type Aobj = {
|
|
29
|
+
user: SerializableTernSecureUser | null;
|
|
30
|
+
userId: string | null;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Auth objects moving through the server -> client boundary need to be serializable
|
|
34
|
+
* as we need to ensure that they can be transferred via the network as pure strings.
|
|
35
|
+
* Some frameworks like Remix or Next (/pages dir only) handle this serialization by simply
|
|
36
|
+
* ignoring any non-serializable keys, however Nextjs /app directory is stricter and
|
|
37
|
+
* throws an error if a non-serializable value is found.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare const authObjectToSerializableNode: <T extends Record<string, unknown>>(obj: T) => T;
|
|
41
|
+
export declare function getTernSecureAuthDataNode(req: RequestLike, initialState?: {}): Promise<{
|
|
42
|
+
sessionClaims: import("@tern-secure/types").DecodedIdToken;
|
|
43
|
+
userId: string;
|
|
44
|
+
token: string;
|
|
45
|
+
require: import("@tern-secure/types").CheckAuthorizationFromSessionClaims;
|
|
46
|
+
error: string | null;
|
|
47
|
+
user: SerializableTernSecureUser | null;
|
|
48
|
+
} | {
|
|
49
|
+
sessionClaims: null;
|
|
50
|
+
userId: null;
|
|
51
|
+
token: null;
|
|
52
|
+
require: import("@tern-secure/types").CheckAuthorizationFromSessionClaims;
|
|
53
|
+
error: string | null;
|
|
54
|
+
user: SerializableTernSecureUser | null;
|
|
55
|
+
}>;
|
|
56
|
+
export declare function getAuthDataFromRequestNode(req: RequestLike): Promise<AuthObject & Aobj>;
|
|
57
|
+
export { TernSecureUser };
|
|
26
58
|
//# sourceMappingURL=getAuthDataFromRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAuthDataFromRequest.d.ts","sourceRoot":"","sources":["../../../../src/server/data/getAuthDataFromRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"getAuthDataFromRequest.d.ts","sourceRoot":"","sources":["../../../../src/server/data/getAuthDataFromRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,KAAK,EAAiC,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAG,CAKpF,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,KAAK;;;;;;;;;;;;EAGxE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAenE;AAGD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,YAAY,GAAG,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAElI,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAA;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAID;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,KAAK,CAAC,KACL,CAKF,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,YAAY,KAAK;;;;;;UAzBX,0BAA0B,GAAG,IAAI;;;;;;;UAAjC,0BAA0B,GAAG,IAAI;GA6BxC;AAED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA0B7F;AA4ED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { ternSecureMiddleware, } from "./ternSecureEdgeMiddleware";
|
|
2
|
+
export { ternSecureInstrumentation } from "./instrumentation";
|
|
2
3
|
export { createRouteMatcher } from "./routeMatcher";
|
|
3
4
|
export { ternSecureBackendClient } from "./ternsecureClient";
|
|
4
5
|
export { auth } from "../app-router/server/auth";
|
|
6
|
+
export { authNew } from "../app-router/server/auth_new";
|
|
5
7
|
export type { AuthResult } from "../app-router/server/auth";
|
|
6
8
|
export type { BaseUser, SessionResult } from "./types";
|
|
7
9
|
export { NextCookieStore } from "../utils/NextCookieAdapter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,IAAI,EACL,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,IAAI,EACL,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,OAAO,EACR,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patches global.fetch to add Referer header for Firebase Identity Toolkit requests.
|
|
3
|
+
* This is required for Firebase Auth to work properly on the server side.
|
|
4
|
+
*
|
|
5
|
+
* @param appUrl - Optional URL of your application. If not provided, uses NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN env variable.
|
|
6
|
+
* You must provide either the parameter or set the environment variable.
|
|
7
|
+
*
|
|
8
|
+
* @throws {Error} If no appUrl is provided and NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN is not set.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // In your app's instrumentation.ts
|
|
13
|
+
* import { ternSecureInstrumentation } from '@tern-secure/nextjs/server';
|
|
14
|
+
*
|
|
15
|
+
* export async function register() {
|
|
16
|
+
* if (process.env.NEXT_RUNTIME === 'nodejs') {
|
|
17
|
+
* // Option 1: Use environment variable
|
|
18
|
+
* ternSecureInstrumentation();
|
|
19
|
+
*
|
|
20
|
+
* // Option 2: Provide URL explicitly
|
|
21
|
+
* ternSecureInstrumentation('http://localhost:3000');
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function ternSecureInstrumentation(appUrl?: string): void;
|
|
27
|
+
//# sourceMappingURL=instrumentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/server/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAgC/D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/nextjs",
|
|
3
|
-
"version": "5.2.0-canary.
|
|
3
|
+
"version": "5.2.0-canary.v20251030165007",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -63,15 +63,16 @@
|
|
|
63
63
|
"jose": "^5.9.6",
|
|
64
64
|
"server-only": "^0.0.1",
|
|
65
65
|
"tslib": "2.4.1",
|
|
66
|
-
"@tern-secure/backend": "1.2.0-canary.
|
|
67
|
-
"@tern-secure/react": "1.2.0-canary.
|
|
68
|
-
"@tern-secure/shared": "1.3.0-canary.
|
|
69
|
-
"@tern-secure/types": "1.1.0-canary.
|
|
66
|
+
"@tern-secure/backend": "1.2.0-canary.v20251030165007",
|
|
67
|
+
"@tern-secure/react": "1.2.0-canary.v20251030165007",
|
|
68
|
+
"@tern-secure/shared": "1.3.0-canary.v20251030165007",
|
|
69
|
+
"@tern-secure/types": "1.1.0-canary.v20251030165007"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
+
"firebase": "^12.0.0",
|
|
72
73
|
"next": "^13.0.0 || ^14.0.0 || ^15.0.0",
|
|
73
|
-
"react": "^19",
|
|
74
|
-
"react-dom": "^19"
|
|
74
|
+
"react": "^19.0.0 || ^19.0.0-0",
|
|
75
|
+
"react-dom": "^19.0.0 || ^19.0.0-0"
|
|
75
76
|
},
|
|
76
77
|
"engines": {
|
|
77
78
|
"node": ">=20"
|