@every-app/sdk 0.1.4 → 0.1.5
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/core/authenticatedFetch.js +3 -3
- package/dist/core/sessionManager.js +6 -6
- package/dist/shared/demoModeLocalOnly.d.ts +6 -6
- package/dist/shared/demoModeLocalOnly.d.ts.map +1 -1
- package/dist/shared/demoModeLocalOnly.js +12 -11
- package/dist/tanstack/server/authConfig.d.ts.map +1 -1
- package/dist/tanstack/server/authConfig.js +4 -3
- package/dist/tanstack/server/authenticateRequest.d.ts.map +1 -1
- package/dist/tanstack/server/authenticateRequest.js +6 -5
- package/dist/tanstack/useSessionTokenClientMiddleware.js +3 -3
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEMO_MODE_LOCAL_ONLY_TOKEN, isDemoModeLocalOnlyClient, } from "../shared/demoModeLocalOnly";
|
|
2
2
|
/**
|
|
3
3
|
* Gets the current session token from the embedded session manager
|
|
4
4
|
*/
|
|
5
5
|
export async function getSessionToken() {
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
6
|
+
if (isDemoModeLocalOnlyClient()) {
|
|
7
|
+
return DEMO_MODE_LOCAL_ONLY_TOKEN;
|
|
8
8
|
}
|
|
9
9
|
const windowWithSession = window;
|
|
10
10
|
const sessionManager = windowWithSession.__embeddedSessionManager;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEMO_MODE_LOCAL_ONLY_EMAIL, DEMO_MODE_LOCAL_ONLY_TOKEN, DEMO_MODE_LOCAL_ONLY_USER_ID, isDemoModeLocalOnlyClient, } from "../shared/demoModeLocalOnly";
|
|
2
2
|
const MESSAGE_TIMEOUT_MS = 5000;
|
|
3
3
|
const TOKEN_EXPIRY_BUFFER_MS = 10000;
|
|
4
4
|
const DEFAULT_TOKEN_LIFETIME_MS = 60000;
|
|
@@ -27,7 +27,7 @@ export class SessionManager {
|
|
|
27
27
|
if (!config.appId) {
|
|
28
28
|
throw new Error("[SessionManager] appId is required.");
|
|
29
29
|
}
|
|
30
|
-
this.isDemoModeLocalOnly =
|
|
30
|
+
this.isDemoModeLocalOnly = isDemoModeLocalOnlyClient();
|
|
31
31
|
const gatewayUrl = import.meta.env.VITE_GATEWAY_URL;
|
|
32
32
|
if (!this.isDemoModeLocalOnly) {
|
|
33
33
|
if (!gatewayUrl) {
|
|
@@ -47,7 +47,7 @@ export class SessionManager {
|
|
|
47
47
|
this.isInIframe = isRunningInIframe();
|
|
48
48
|
if (this.isDemoModeLocalOnly) {
|
|
49
49
|
this.token = {
|
|
50
|
-
token:
|
|
50
|
+
token: DEMO_MODE_LOCAL_ONLY_TOKEN,
|
|
51
51
|
expiresAt: Date.now() + DEFAULT_TOKEN_LIFETIME_MS,
|
|
52
52
|
};
|
|
53
53
|
}
|
|
@@ -92,7 +92,7 @@ export class SessionManager {
|
|
|
92
92
|
async requestNewToken() {
|
|
93
93
|
if (this.isDemoModeLocalOnly) {
|
|
94
94
|
this.token = {
|
|
95
|
-
token:
|
|
95
|
+
token: DEMO_MODE_LOCAL_ONLY_TOKEN,
|
|
96
96
|
expiresAt: Date.now() + DEFAULT_TOKEN_LIFETIME_MS,
|
|
97
97
|
};
|
|
98
98
|
return this.token.token;
|
|
@@ -162,8 +162,8 @@ export class SessionManager {
|
|
|
162
162
|
getUser() {
|
|
163
163
|
if (this.isDemoModeLocalOnly) {
|
|
164
164
|
return {
|
|
165
|
-
userId:
|
|
166
|
-
email:
|
|
165
|
+
userId: DEMO_MODE_LOCAL_ONLY_USER_ID,
|
|
166
|
+
email: DEMO_MODE_LOCAL_ONLY_EMAIL,
|
|
167
167
|
};
|
|
168
168
|
}
|
|
169
169
|
if (!this.token) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
1
|
+
export declare const DEMO_MODE_LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
+
export declare const DEMO_MODE_LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
+
export declare const DEMO_MODE_LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
+
export declare function isDemoModeLocalOnlyClient(): boolean;
|
|
5
|
+
export declare function isDemoModeLocalOnlyServer(): boolean;
|
|
6
|
+
export declare function createDemoModeLocalOnlySessionPayload(audience: string): {
|
|
7
7
|
sub: string;
|
|
8
8
|
email: string;
|
|
9
9
|
iss: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demoModeLocalOnly.d.ts","sourceRoot":"","sources":["../../src/shared/demoModeLocalOnly.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"demoModeLocalOnly.d.ts","sourceRoot":"","sources":["../../src/shared/demoModeLocalOnly.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAC9D,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAiBnD;AAED,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM;;;;;;;EAYrE"}
|
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const
|
|
3
|
-
export const
|
|
4
|
-
export function
|
|
5
|
-
return import.meta.env.
|
|
1
|
+
export const DEMO_MODE_LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
+
export const DEMO_MODE_LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
+
export const DEMO_MODE_LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
+
export function isDemoModeLocalOnlyClient() {
|
|
5
|
+
return import.meta.env.VITE_DEMO_MODE_LOCAL_ONLY === "true";
|
|
6
6
|
}
|
|
7
|
-
export function
|
|
7
|
+
export function isDemoModeLocalOnlyServer() {
|
|
8
8
|
const metaEnv = import.meta
|
|
9
9
|
.env;
|
|
10
|
-
const metaValue = metaEnv?.
|
|
10
|
+
const metaValue = metaEnv?.DEMO_MODE_LOCAL_ONLY ?? metaEnv?.VITE_DEMO_MODE_LOCAL_ONLY;
|
|
11
11
|
if (metaValue === "true") {
|
|
12
12
|
return true;
|
|
13
13
|
}
|
|
14
|
-
if (typeof process !== "undefined" &&
|
|
14
|
+
if (typeof process !== "undefined" &&
|
|
15
|
+
process.env?.DEMO_MODE_LOCAL_ONLY === "true") {
|
|
15
16
|
return true;
|
|
16
17
|
}
|
|
17
18
|
return false;
|
|
18
19
|
}
|
|
19
|
-
export function
|
|
20
|
+
export function createDemoModeLocalOnlySessionPayload(audience) {
|
|
20
21
|
const issuedAt = Math.floor(Date.now() / 1000);
|
|
21
22
|
const expiresAt = issuedAt + 60 * 60;
|
|
22
23
|
return {
|
|
23
|
-
sub:
|
|
24
|
-
email:
|
|
24
|
+
sub: DEMO_MODE_LOCAL_ONLY_USER_ID,
|
|
25
|
+
email: DEMO_MODE_LOCAL_ONLY_EMAIL,
|
|
25
26
|
iss: "local",
|
|
26
27
|
aud: audience,
|
|
27
28
|
iat: issuedAt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authConfig.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,aAAa,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"authConfig.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,aAAa,IAAI,UAAU,CAW1C"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { env } from "cloudflare:workers";
|
|
2
|
-
import {
|
|
2
|
+
import { isDemoModeLocalOnlyServer } from "../../shared/demoModeLocalOnly";
|
|
3
3
|
export function getAuthConfig() {
|
|
4
|
-
const demoModeLocalOnlyEnv = env
|
|
5
|
-
|
|
4
|
+
const demoModeLocalOnlyEnv = env
|
|
5
|
+
.DEMO_MODE_LOCAL_ONLY;
|
|
6
|
+
const isDemoModeLocalOnly = demoModeLocalOnlyEnv === "true" || isDemoModeLocalOnlyServer() === true;
|
|
6
7
|
const issuer = env.GATEWAY_URL || (isDemoModeLocalOnly ? "local" : "");
|
|
7
8
|
return {
|
|
8
9
|
issuer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticateRequest.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authenticateRequest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQ1C;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"authenticateRequest.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authenticateRequest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQ1C;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA4CrC;AAyCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAK3E"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { getRequest } from "@tanstack/react-start/server";
|
|
2
2
|
import { createLocalJWKSet, jwtVerify, } from "jose";
|
|
3
3
|
import { env } from "cloudflare:workers";
|
|
4
|
-
import {
|
|
4
|
+
import { DEMO_MODE_LOCAL_ONLY_TOKEN, createDemoModeLocalOnlySessionPayload, isDemoModeLocalOnlyServer, } from "../../shared/demoModeLocalOnly";
|
|
5
5
|
export async function authenticateRequest(authConfig, providedRequest) {
|
|
6
6
|
const request = providedRequest || getRequest();
|
|
7
7
|
const authHeader = request.headers.get("authorization");
|
|
8
|
-
const demoModeLocalOnlyEnv = env
|
|
9
|
-
|
|
8
|
+
const demoModeLocalOnlyEnv = env
|
|
9
|
+
.DEMO_MODE_LOCAL_ONLY;
|
|
10
|
+
const isDemoModeLocalOnly = demoModeLocalOnlyEnv === "true" || isDemoModeLocalOnlyServer() === true;
|
|
10
11
|
if (!authHeader) {
|
|
11
12
|
console.log("No auth header found");
|
|
12
13
|
return null;
|
|
@@ -16,10 +17,10 @@ export async function authenticateRequest(authConfig, providedRequest) {
|
|
|
16
17
|
return null;
|
|
17
18
|
}
|
|
18
19
|
if (isDemoModeLocalOnly) {
|
|
19
|
-
if (token !==
|
|
20
|
+
if (token !== DEMO_MODE_LOCAL_ONLY_TOKEN) {
|
|
20
21
|
return null;
|
|
21
22
|
}
|
|
22
|
-
return
|
|
23
|
+
return createDemoModeLocalOnlySessionPayload(authConfig.audience);
|
|
23
24
|
}
|
|
24
25
|
try {
|
|
25
26
|
const session = await verifySessionToken(token, authConfig);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createMiddleware } from "@tanstack/react-start";
|
|
2
|
-
import {
|
|
2
|
+
import { DEMO_MODE_LOCAL_ONLY_TOKEN, isDemoModeLocalOnlyClient, } from "../shared/demoModeLocalOnly";
|
|
3
3
|
export const useSessionTokenClientMiddleware = createMiddleware({
|
|
4
4
|
type: "function",
|
|
5
5
|
}).client(async ({ next }) => {
|
|
6
|
-
if (
|
|
6
|
+
if (isDemoModeLocalOnlyClient()) {
|
|
7
7
|
return next({
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${
|
|
9
|
+
Authorization: `Bearer ${DEMO_MODE_LOCAL_ONLY_TOKEN}`,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
}
|