@convex-dev/better-auth 0.8.5 → 0.8.7
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/commonjs/client/adapterUtils.js +1 -1
- package/dist/commonjs/client/adapterUtils.js.map +1 -1
- package/dist/commonjs/client/index.d.ts.map +1 -1
- package/dist/commonjs/client/index.js +2 -2
- package/dist/commonjs/client/index.js.map +1 -1
- package/dist/commonjs/plugins/cross-domain/index.d.ts +4 -3
- package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
- package/dist/commonjs/plugins/cross-domain/index.js +20 -13
- package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
- package/dist/commonjs/react/index.d.ts +28 -7
- package/dist/commonjs/react/index.d.ts.map +1 -1
- package/dist/commonjs/react/index.js +59 -11
- package/dist/commonjs/react/index.js.map +1 -1
- package/dist/commonjs/{src/react/index.d.ts → react/old-index.d.ts} +1 -1
- package/dist/commonjs/react/old-index.d.ts.map +1 -0
- package/dist/commonjs/{src/react/index.js → react/old-index.js} +1 -1
- package/dist/commonjs/react/old-index.js.map +1 -0
- package/dist/commonjs/react-start/index.d.ts +3 -3
- package/dist/commonjs/react-start/index.d.ts.map +1 -1
- package/dist/commonjs/react-start/index.js.map +1 -1
- package/dist/esm/client/adapterUtils.js +1 -1
- package/dist/esm/client/adapterUtils.js.map +1 -1
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +2 -2
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/plugins/cross-domain/index.d.ts +4 -3
- package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
- package/dist/esm/plugins/cross-domain/index.js +20 -13
- package/dist/esm/plugins/cross-domain/index.js.map +1 -1
- package/dist/esm/react/index.d.ts +28 -7
- package/dist/esm/react/index.d.ts.map +1 -1
- package/dist/esm/react/index.js +59 -11
- package/dist/esm/react/index.js.map +1 -1
- package/dist/esm/{src/react/index.d.ts → react/old-index.d.ts} +1 -1
- package/dist/esm/react/old-index.d.ts.map +1 -0
- package/dist/esm/{src/react/index.js → react/old-index.js} +1 -1
- package/dist/esm/react/old-index.js.map +1 -0
- package/dist/esm/react-start/index.d.ts +3 -3
- package/dist/esm/react-start/index.d.ts.map +1 -1
- package/dist/esm/react-start/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client/adapterUtils.ts +1 -1
- package/src/client/index.ts +2 -2
- package/src/plugins/cross-domain/index.ts +33 -20
- package/src/react/index.tsx +110 -28
- package/src/react-start/index.ts +2 -2
- package/dist/commonjs/client/createSchemaInternal.d.ts +0 -24
- package/dist/commonjs/client/createSchemaInternal.d.ts.map +0 -1
- package/dist/commonjs/client/createSchemaInternal.js +0 -105
- package/dist/commonjs/client/createSchemaInternal.js.map +0 -1
- package/dist/commonjs/component/lib.d.ts +0 -432
- package/dist/commonjs/component/lib.d.ts.map +0 -1
- package/dist/commonjs/component/lib.js +0 -570
- package/dist/commonjs/component/lib.js.map +0 -1
- package/dist/commonjs/component/util.d.ts +0 -1406
- package/dist/commonjs/component/util.d.ts.map +0 -1
- package/dist/commonjs/component/util.js +0 -4
- package/dist/commonjs/component/util.js.map +0 -1
- package/dist/commonjs/src/auth.d.ts +0 -3085
- package/dist/commonjs/src/auth.d.ts.map +0 -1
- package/dist/commonjs/src/auth.js +0 -72
- package/dist/commonjs/src/auth.js.map +0 -1
- package/dist/commonjs/src/client/adapter.d.ts +0 -18
- package/dist/commonjs/src/client/adapter.d.ts.map +0 -1
- package/dist/commonjs/src/client/adapter.js +0 -211
- package/dist/commonjs/src/client/adapter.js.map +0 -1
- package/dist/commonjs/src/client/createSchema.d.ts +0 -25
- package/dist/commonjs/src/client/createSchema.d.ts.map +0 -1
- package/dist/commonjs/src/client/createSchema.js +0 -103
- package/dist/commonjs/src/client/createSchema.js.map +0 -1
- package/dist/commonjs/src/client/index.d.ts +0 -3310
- package/dist/commonjs/src/client/index.d.ts.map +0 -1
- package/dist/commonjs/src/client/index.js +0 -377
- package/dist/commonjs/src/client/index.js.map +0 -1
- package/dist/commonjs/src/client/plugins/index.d.ts +0 -3
- package/dist/commonjs/src/client/plugins/index.d.ts.map +0 -1
- package/dist/commonjs/src/client/plugins/index.js +0 -3
- package/dist/commonjs/src/client/plugins/index.js.map +0 -1
- package/dist/commonjs/src/component/_generated/api.d.ts +0 -12
- package/dist/commonjs/src/component/_generated/api.d.ts.map +0 -1
- package/dist/commonjs/src/component/_generated/api.js +0 -22
- package/dist/commonjs/src/component/_generated/api.js.map +0 -1
- package/dist/commonjs/src/component/_generated/server.d.ts +0 -64
- package/dist/commonjs/src/component/_generated/server.d.ts.map +0 -1
- package/dist/commonjs/src/component/_generated/server.js +0 -74
- package/dist/commonjs/src/component/_generated/server.js.map +0 -1
- package/dist/commonjs/src/component/adapter.d.ts +0 -355
- package/dist/commonjs/src/component/adapter.d.ts.map +0 -1
- package/dist/commonjs/src/component/adapter.js +0 -573
- package/dist/commonjs/src/component/adapter.js.map +0 -1
- package/dist/commonjs/src/component/adapterTest.d.ts +0 -18
- package/dist/commonjs/src/component/adapterTest.d.ts.map +0 -1
- package/dist/commonjs/src/component/adapterTest.js +0 -75
- package/dist/commonjs/src/component/adapterTest.js.map +0 -1
- package/dist/commonjs/src/component/convex.config.d.ts +0 -3
- package/dist/commonjs/src/component/convex.config.d.ts.map +0 -1
- package/dist/commonjs/src/component/convex.config.js +0 -4
- package/dist/commonjs/src/component/convex.config.js.map +0 -1
- package/dist/commonjs/src/component/schema.d.ts +0 -562
- package/dist/commonjs/src/component/schema.d.ts.map +0 -1
- package/dist/commonjs/src/component/schema.js +0 -217
- package/dist/commonjs/src/component/schema.js.map +0 -1
- package/dist/commonjs/src/nextjs/index.d.ts +0 -10
- package/dist/commonjs/src/nextjs/index.d.ts.map +0 -1
- package/dist/commonjs/src/nextjs/index.js +0 -43
- package/dist/commonjs/src/nextjs/index.js.map +0 -1
- package/dist/commonjs/src/plugins/convex/client.d.ts +0 -9
- package/dist/commonjs/src/plugins/convex/client.d.ts.map +0 -1
- package/dist/commonjs/src/plugins/convex/client.js +0 -7
- package/dist/commonjs/src/plugins/convex/client.js.map +0 -1
- package/dist/commonjs/src/plugins/convex/index.d.ts +0 -415
- package/dist/commonjs/src/plugins/convex/index.d.ts.map +0 -1
- package/dist/commonjs/src/plugins/convex/index.js +0 -354
- package/dist/commonjs/src/plugins/convex/index.js.map +0 -1
- package/dist/commonjs/src/plugins/cross-domain/client.d.ts +0 -132
- package/dist/commonjs/src/plugins/cross-domain/client.d.ts.map +0 -1
- package/dist/commonjs/src/plugins/cross-domain/client.js +0 -176
- package/dist/commonjs/src/plugins/cross-domain/client.js.map +0 -1
- package/dist/commonjs/src/plugins/cross-domain/index.d.ts +0 -83
- package/dist/commonjs/src/plugins/cross-domain/index.d.ts.map +0 -1
- package/dist/commonjs/src/plugins/cross-domain/index.js +0 -153
- package/dist/commonjs/src/plugins/cross-domain/index.js.map +0 -1
- package/dist/commonjs/src/plugins/index.d.ts +0 -3
- package/dist/commonjs/src/plugins/index.d.ts.map +0 -1
- package/dist/commonjs/src/plugins/index.js +0 -3
- package/dist/commonjs/src/plugins/index.js.map +0 -1
- package/dist/commonjs/src/react/client.d.ts +0 -31
- package/dist/commonjs/src/react/client.d.ts.map +0 -1
- package/dist/commonjs/src/react/client.js +0 -96
- package/dist/commonjs/src/react/client.js.map +0 -1
- package/dist/commonjs/src/react/index.d.ts.map +0 -1
- package/dist/commonjs/src/react/index.js.map +0 -1
- package/dist/commonjs/src/react-start/index.d.ts +0 -45
- package/dist/commonjs/src/react-start/index.d.ts.map +0 -1
- package/dist/commonjs/src/react-start/index.js +0 -60
- package/dist/commonjs/src/react-start/index.js.map +0 -1
- package/dist/commonjs/src/utils/index.d.ts +0 -9
- package/dist/commonjs/src/utils/index.d.ts.map +0 -1
- package/dist/commonjs/src/utils/index.js +0 -35
- package/dist/commonjs/src/utils/index.js.map +0 -1
- package/dist/esm/client/createSchemaInternal.d.ts +0 -24
- package/dist/esm/client/createSchemaInternal.d.ts.map +0 -1
- package/dist/esm/client/createSchemaInternal.js +0 -105
- package/dist/esm/client/createSchemaInternal.js.map +0 -1
- package/dist/esm/component/lib.d.ts +0 -432
- package/dist/esm/component/lib.d.ts.map +0 -1
- package/dist/esm/component/lib.js +0 -570
- package/dist/esm/component/lib.js.map +0 -1
- package/dist/esm/component/util.d.ts +0 -1406
- package/dist/esm/component/util.d.ts.map +0 -1
- package/dist/esm/component/util.js +0 -4
- package/dist/esm/component/util.js.map +0 -1
- package/dist/esm/src/auth.d.ts +0 -3085
- package/dist/esm/src/auth.d.ts.map +0 -1
- package/dist/esm/src/auth.js +0 -72
- package/dist/esm/src/auth.js.map +0 -1
- package/dist/esm/src/client/adapter.d.ts +0 -18
- package/dist/esm/src/client/adapter.d.ts.map +0 -1
- package/dist/esm/src/client/adapter.js +0 -211
- package/dist/esm/src/client/adapter.js.map +0 -1
- package/dist/esm/src/client/createSchema.d.ts +0 -25
- package/dist/esm/src/client/createSchema.d.ts.map +0 -1
- package/dist/esm/src/client/createSchema.js +0 -103
- package/dist/esm/src/client/createSchema.js.map +0 -1
- package/dist/esm/src/client/index.d.ts +0 -3310
- package/dist/esm/src/client/index.d.ts.map +0 -1
- package/dist/esm/src/client/index.js +0 -377
- package/dist/esm/src/client/index.js.map +0 -1
- package/dist/esm/src/client/plugins/index.d.ts +0 -3
- package/dist/esm/src/client/plugins/index.d.ts.map +0 -1
- package/dist/esm/src/client/plugins/index.js +0 -3
- package/dist/esm/src/client/plugins/index.js.map +0 -1
- package/dist/esm/src/component/_generated/api.d.ts +0 -12
- package/dist/esm/src/component/_generated/api.d.ts.map +0 -1
- package/dist/esm/src/component/_generated/api.js +0 -22
- package/dist/esm/src/component/_generated/api.js.map +0 -1
- package/dist/esm/src/component/_generated/server.d.ts +0 -64
- package/dist/esm/src/component/_generated/server.d.ts.map +0 -1
- package/dist/esm/src/component/_generated/server.js +0 -74
- package/dist/esm/src/component/_generated/server.js.map +0 -1
- package/dist/esm/src/component/adapter.d.ts +0 -355
- package/dist/esm/src/component/adapter.d.ts.map +0 -1
- package/dist/esm/src/component/adapter.js +0 -573
- package/dist/esm/src/component/adapter.js.map +0 -1
- package/dist/esm/src/component/adapterTest.d.ts +0 -18
- package/dist/esm/src/component/adapterTest.d.ts.map +0 -1
- package/dist/esm/src/component/adapterTest.js +0 -75
- package/dist/esm/src/component/adapterTest.js.map +0 -1
- package/dist/esm/src/component/convex.config.d.ts +0 -3
- package/dist/esm/src/component/convex.config.d.ts.map +0 -1
- package/dist/esm/src/component/convex.config.js +0 -4
- package/dist/esm/src/component/convex.config.js.map +0 -1
- package/dist/esm/src/component/schema.d.ts +0 -562
- package/dist/esm/src/component/schema.d.ts.map +0 -1
- package/dist/esm/src/component/schema.js +0 -217
- package/dist/esm/src/component/schema.js.map +0 -1
- package/dist/esm/src/nextjs/index.d.ts +0 -10
- package/dist/esm/src/nextjs/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/index.js +0 -43
- package/dist/esm/src/nextjs/index.js.map +0 -1
- package/dist/esm/src/plugins/convex/client.d.ts +0 -9
- package/dist/esm/src/plugins/convex/client.d.ts.map +0 -1
- package/dist/esm/src/plugins/convex/client.js +0 -7
- package/dist/esm/src/plugins/convex/client.js.map +0 -1
- package/dist/esm/src/plugins/convex/index.d.ts +0 -415
- package/dist/esm/src/plugins/convex/index.d.ts.map +0 -1
- package/dist/esm/src/plugins/convex/index.js +0 -354
- package/dist/esm/src/plugins/convex/index.js.map +0 -1
- package/dist/esm/src/plugins/cross-domain/client.d.ts +0 -132
- package/dist/esm/src/plugins/cross-domain/client.d.ts.map +0 -1
- package/dist/esm/src/plugins/cross-domain/client.js +0 -176
- package/dist/esm/src/plugins/cross-domain/client.js.map +0 -1
- package/dist/esm/src/plugins/cross-domain/index.d.ts +0 -83
- package/dist/esm/src/plugins/cross-domain/index.d.ts.map +0 -1
- package/dist/esm/src/plugins/cross-domain/index.js +0 -153
- package/dist/esm/src/plugins/cross-domain/index.js.map +0 -1
- package/dist/esm/src/plugins/index.d.ts +0 -3
- package/dist/esm/src/plugins/index.d.ts.map +0 -1
- package/dist/esm/src/plugins/index.js +0 -3
- package/dist/esm/src/plugins/index.js.map +0 -1
- package/dist/esm/src/react/client.d.ts +0 -31
- package/dist/esm/src/react/client.d.ts.map +0 -1
- package/dist/esm/src/react/client.js +0 -96
- package/dist/esm/src/react/client.js.map +0 -1
- package/dist/esm/src/react/index.d.ts.map +0 -1
- package/dist/esm/src/react/index.js.map +0 -1
- package/dist/esm/src/react-start/index.d.ts +0 -45
- package/dist/esm/src/react-start/index.d.ts.map +0 -1
- package/dist/esm/src/react-start/index.js +0 -60
- package/dist/esm/src/react-start/index.js.map +0 -1
- package/dist/esm/src/utils/index.d.ts +0 -9
- package/dist/esm/src/utils/index.d.ts.map +0 -1
- package/dist/esm/src/utils/index.js +0 -35
- package/dist/esm/src/utils/index.js.map +0 -1
- package/src/react/client.tsx +0 -178
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { createCookieGetter } from "better-auth/cookies";
|
|
2
|
-
import { betterFetch } from "@better-fetch/fetch";
|
|
3
|
-
import { JWT_COOKIE_NAME } from "../plugins/convex/index.js";
|
|
4
|
-
import { oneLine } from "common-tags";
|
|
5
|
-
import { getInactiveAuthInstance } from "../client/index.js";
|
|
6
|
-
export const getCookieName = async (createAuth) => {
|
|
7
|
-
const auth = getInactiveAuthInstance(createAuth);
|
|
8
|
-
const createCookie = createCookieGetter(auth.options);
|
|
9
|
-
const cookie = createCookie(JWT_COOKIE_NAME);
|
|
10
|
-
return cookie.name;
|
|
11
|
-
};
|
|
12
|
-
const requireConvexSiteUrl = (opts, calledFrom) => {
|
|
13
|
-
if (!opts.convexSiteUrl) {
|
|
14
|
-
throw new Error(`${calledFrom}: opts.convexSiteUrl is required`);
|
|
15
|
-
}
|
|
16
|
-
if (opts.verbose) {
|
|
17
|
-
console.log(`${calledFrom}: opts.convexSiteUrl: ${opts.convexSiteUrl}`);
|
|
18
|
-
}
|
|
19
|
-
return opts.convexSiteUrl;
|
|
20
|
-
};
|
|
21
|
-
export const fetchSession = async (request, opts) => {
|
|
22
|
-
if (!request) {
|
|
23
|
-
throw new Error("No request found");
|
|
24
|
-
}
|
|
25
|
-
const convexSiteUrl = requireConvexSiteUrl(opts, "fetchSession");
|
|
26
|
-
const { data: session } = await betterFetch("/api/auth/get-session", {
|
|
27
|
-
baseURL: convexSiteUrl,
|
|
28
|
-
headers: {
|
|
29
|
-
cookie: request.headers.get("cookie") ?? "",
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
session,
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export const reactStartHandler = (request, opts) => {
|
|
37
|
-
const requestUrl = new URL(request.url);
|
|
38
|
-
const convexSiteUrl = requireConvexSiteUrl(opts, "reactStartHandler");
|
|
39
|
-
const nextUrl = `${convexSiteUrl}${requestUrl.pathname}${requestUrl.search}`;
|
|
40
|
-
request.headers.set("accept-encoding", "application/json");
|
|
41
|
-
return fetch(nextUrl, new Request(request, { redirect: "manual" }));
|
|
42
|
-
};
|
|
43
|
-
export const reactStartHelpers = (createAuth, opts) => {
|
|
44
|
-
if (!opts.convexSiteUrl) {
|
|
45
|
-
throw new Error("opts.convexSiteUrl is required");
|
|
46
|
-
}
|
|
47
|
-
if (opts.convexSiteUrl.endsWith(".convex.cloud")) {
|
|
48
|
-
throw new Error(oneLine(`
|
|
49
|
-
opts.convexSiteUrl ends with .convex.cloud, which is your cloud URL.
|
|
50
|
-
Use your Convex site URL instead.
|
|
51
|
-
https://docs.convex.dev/production/environment-variables#system-environment-variables
|
|
52
|
-
`));
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
fetchSession: (request) => fetchSession(request, opts),
|
|
56
|
-
reactStartHandler: (request) => reactStartHandler(request, opts),
|
|
57
|
-
getCookieName: () => getCookieName(createAuth),
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react-start/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { RunActionCtx, RunCtx, RunMutationCtx, RunQueryCtx } from "../client/index.js";
|
|
2
|
-
export declare const requireEnv: (name: string) => string;
|
|
3
|
-
export declare const isQueryCtx: (ctx: RunCtx) => ctx is RunQueryCtx;
|
|
4
|
-
export declare const isMutationCtx: (ctx: RunCtx) => ctx is RunMutationCtx;
|
|
5
|
-
export declare const isActionCtx: (ctx: RunCtx) => ctx is RunActionCtx;
|
|
6
|
-
export declare const requireQueryCtx: (ctx: RunCtx) => RunQueryCtx;
|
|
7
|
-
export declare const requireMutationCtx: (ctx: RunCtx) => RunMutationCtx;
|
|
8
|
-
export declare const requireActionCtx: (ctx: RunCtx) => RunActionCtx;
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9E,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAMtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,WAE/C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,cAElD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,YAEhD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,WAK7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,cAKhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,YAK9C,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export const requireEnv = (name) => {
|
|
2
|
-
const value = process.env[name];
|
|
3
|
-
if (value === undefined) {
|
|
4
|
-
throw new Error(`Missing environment variable \`${name}\``);
|
|
5
|
-
}
|
|
6
|
-
return value;
|
|
7
|
-
};
|
|
8
|
-
export const isQueryCtx = (ctx) => {
|
|
9
|
-
return "runQuery" in ctx;
|
|
10
|
-
};
|
|
11
|
-
export const isMutationCtx = (ctx) => {
|
|
12
|
-
return "runMutation" in ctx;
|
|
13
|
-
};
|
|
14
|
-
export const isActionCtx = (ctx) => {
|
|
15
|
-
return "runAction" in ctx;
|
|
16
|
-
};
|
|
17
|
-
export const requireQueryCtx = (ctx) => {
|
|
18
|
-
if (!isQueryCtx(ctx)) {
|
|
19
|
-
throw new Error("Query context required");
|
|
20
|
-
}
|
|
21
|
-
return ctx;
|
|
22
|
-
};
|
|
23
|
-
export const requireMutationCtx = (ctx) => {
|
|
24
|
-
if (!isMutationCtx(ctx)) {
|
|
25
|
-
throw new Error("Mutation context required");
|
|
26
|
-
}
|
|
27
|
-
return ctx;
|
|
28
|
-
};
|
|
29
|
-
export const requireActionCtx = (ctx) => {
|
|
30
|
-
if (!isActionCtx(ctx)) {
|
|
31
|
-
throw new Error("Action context required");
|
|
32
|
-
}
|
|
33
|
-
return ctx;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAsB,EAAE;IAC5D,OAAO,UAAU,IAAI,GAAG,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAyB,EAAE;IAClE,OAAO,aAAa,IAAI,GAAG,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAuB,EAAE;IAC9D,OAAO,WAAW,IAAI,GAAG,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAe,EAAE;IAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAkB,EAAE;IAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAgB,EAAE;IAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
package/src/react/client.tsx
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { ConvexReactClient } from "convex/react";
|
|
2
|
-
import isNetworkError from "is-network-error";
|
|
3
|
-
import {
|
|
4
|
-
createContext,
|
|
5
|
-
ReactNode,
|
|
6
|
-
useCallback,
|
|
7
|
-
useContext,
|
|
8
|
-
useEffect,
|
|
9
|
-
useMemo,
|
|
10
|
-
} from "react";
|
|
11
|
-
import { createAuthClient } from "better-auth/react";
|
|
12
|
-
import { convexClient, crossDomainClient } from "../client/plugins";
|
|
13
|
-
import { BetterAuthClientPlugin, ClientOptions } from "better-auth";
|
|
14
|
-
|
|
15
|
-
const ConvexAuthInternalContext = createContext<{
|
|
16
|
-
isLoading: boolean;
|
|
17
|
-
isAuthenticated: boolean;
|
|
18
|
-
fetchAccessToken: ({
|
|
19
|
-
forceRefreshToken,
|
|
20
|
-
}: {
|
|
21
|
-
forceRefreshToken: boolean;
|
|
22
|
-
}) => Promise<string | null>;
|
|
23
|
-
}>(undefined as any);
|
|
24
|
-
|
|
25
|
-
export function useAuth() {
|
|
26
|
-
return useContext(ConvexAuthInternalContext);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export type ConvexAuthClient = {
|
|
30
|
-
verbose?: boolean;
|
|
31
|
-
logger?: ConvexReactClient["logger"];
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
type CrossDomainClient = ReturnType<typeof crossDomainClient>;
|
|
35
|
-
type ConvexClient = ReturnType<typeof convexClient>;
|
|
36
|
-
type PluginsWithCrossDomain = (
|
|
37
|
-
| CrossDomainClient
|
|
38
|
-
| ConvexClient
|
|
39
|
-
| BetterAuthClientPlugin
|
|
40
|
-
)[];
|
|
41
|
-
type PluginsWithoutCrossDomain = (ConvexClient | BetterAuthClientPlugin)[];
|
|
42
|
-
type AuthClientWithPlugins<
|
|
43
|
-
Plugins extends PluginsWithCrossDomain | PluginsWithoutCrossDomain,
|
|
44
|
-
> = ReturnType<
|
|
45
|
-
typeof createAuthClient<
|
|
46
|
-
ClientOptions & {
|
|
47
|
-
plugins: Plugins;
|
|
48
|
-
}
|
|
49
|
-
>
|
|
50
|
-
>;
|
|
51
|
-
export type AuthClient =
|
|
52
|
-
| AuthClientWithPlugins<PluginsWithCrossDomain>
|
|
53
|
-
| AuthClientWithPlugins<PluginsWithoutCrossDomain>;
|
|
54
|
-
|
|
55
|
-
export function AuthProvider({
|
|
56
|
-
client,
|
|
57
|
-
authClient,
|
|
58
|
-
children,
|
|
59
|
-
}: {
|
|
60
|
-
client: ConvexAuthClient;
|
|
61
|
-
authClient: AuthClient;
|
|
62
|
-
children: ReactNode;
|
|
63
|
-
}) {
|
|
64
|
-
const { data: session, isPending: isSessionPending } =
|
|
65
|
-
authClient.useSession();
|
|
66
|
-
|
|
67
|
-
const verbose: boolean = client.verbose ?? false;
|
|
68
|
-
const logVerbose = useCallback(
|
|
69
|
-
(message: string) => {
|
|
70
|
-
if (verbose) {
|
|
71
|
-
console.debug(`${new Date().toISOString()} ${message}`);
|
|
72
|
-
client.logger?.logVerbose(message);
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
[verbose]
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
const fetchToken = useCallback(async () => {
|
|
79
|
-
const initialBackoff = 100;
|
|
80
|
-
const maxBackoff = 1000;
|
|
81
|
-
let retries = 0;
|
|
82
|
-
|
|
83
|
-
const nextBackoff = () => {
|
|
84
|
-
const baseBackoff = initialBackoff * Math.pow(2, retries);
|
|
85
|
-
retries += 1;
|
|
86
|
-
const actualBackoff = Math.min(baseBackoff, maxBackoff);
|
|
87
|
-
const jitter = actualBackoff * (Math.random() - 0.5);
|
|
88
|
-
return actualBackoff + jitter;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const fetchWithRetry = async () => {
|
|
92
|
-
try {
|
|
93
|
-
const { data } = await authClient.convex.token();
|
|
94
|
-
return data?.token || null;
|
|
95
|
-
} catch (e) {
|
|
96
|
-
if (!isNetworkError(e)) {
|
|
97
|
-
throw e;
|
|
98
|
-
}
|
|
99
|
-
if (retries > 10) {
|
|
100
|
-
logVerbose(`fetchToken failed with network error, giving up`);
|
|
101
|
-
throw e;
|
|
102
|
-
}
|
|
103
|
-
const backoff = nextBackoff();
|
|
104
|
-
logVerbose(
|
|
105
|
-
`fetchToken failed with network error, attempting retrying in ${backoff}ms`
|
|
106
|
-
);
|
|
107
|
-
await new Promise((resolve) => setTimeout(resolve, backoff));
|
|
108
|
-
return fetchWithRetry();
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
return fetchWithRetry();
|
|
113
|
-
}, [client]);
|
|
114
|
-
|
|
115
|
-
const fetchAccessToken = useCallback(
|
|
116
|
-
async ({ forceRefreshToken }: { forceRefreshToken: boolean }) => {
|
|
117
|
-
if (forceRefreshToken) {
|
|
118
|
-
const token = await fetchToken();
|
|
119
|
-
logVerbose(`returning retrieved token`);
|
|
120
|
-
return token;
|
|
121
|
-
}
|
|
122
|
-
return null;
|
|
123
|
-
},
|
|
124
|
-
[fetchToken]
|
|
125
|
-
);
|
|
126
|
-
|
|
127
|
-
useEffect(
|
|
128
|
-
() => {
|
|
129
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
130
|
-
(async () => {
|
|
131
|
-
const url = new URL(window.location?.href);
|
|
132
|
-
const token = url.searchParams.get("ott");
|
|
133
|
-
if (token) {
|
|
134
|
-
const authClientWithCrossDomain =
|
|
135
|
-
authClient as AuthClientWithPlugins<PluginsWithCrossDomain>;
|
|
136
|
-
url.searchParams.delete("ott");
|
|
137
|
-
const result =
|
|
138
|
-
await authClientWithCrossDomain.crossDomain.oneTimeToken.verify({
|
|
139
|
-
token,
|
|
140
|
-
});
|
|
141
|
-
const session = result.data?.session;
|
|
142
|
-
if (session) {
|
|
143
|
-
await authClient.getSession({
|
|
144
|
-
fetchOptions: {
|
|
145
|
-
headers: {
|
|
146
|
-
Authorization: `Bearer ${session.token}`,
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
});
|
|
150
|
-
authClientWithCrossDomain.updateSession();
|
|
151
|
-
}
|
|
152
|
-
window.history.replaceState({}, "", url);
|
|
153
|
-
}
|
|
154
|
-
})();
|
|
155
|
-
},
|
|
156
|
-
// Explicitly chosen dependencies.
|
|
157
|
-
// This effect should mostly only run once
|
|
158
|
-
// on mount.
|
|
159
|
-
[client, authClient]
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
const isAuthenticated = session !== null;
|
|
163
|
-
const isLoading = isSessionPending;
|
|
164
|
-
const authState = useMemo(
|
|
165
|
-
() => ({
|
|
166
|
-
isLoading,
|
|
167
|
-
isAuthenticated,
|
|
168
|
-
fetchAccessToken,
|
|
169
|
-
}),
|
|
170
|
-
[fetchAccessToken, isLoading, isAuthenticated]
|
|
171
|
-
);
|
|
172
|
-
|
|
173
|
-
return (
|
|
174
|
-
<ConvexAuthInternalContext.Provider value={authState}>
|
|
175
|
-
{children}
|
|
176
|
-
</ConvexAuthInternalContext.Provider>
|
|
177
|
-
);
|
|
178
|
-
}
|