@lithia-js/better-auth 1.0.0-canary.10 → 1.0.0-canary.9
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/index.d.mts +3 -2
- package/dist/index.mjs +36 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/handler.d.mts +0 -3
- package/dist/handler.mjs +0 -37
- package/dist/handler.mjs.map +0 -1
- package/dist/useAuth.d.mts +0 -15
- package/dist/useAuth.mjs +0 -35
- package/dist/useAuth.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { type RouteHandler } from "@lithia-js/core/server";
|
|
2
|
+
import type { Auth } from "better-auth/types";
|
|
3
|
+
export declare function handleAuth(auth: Auth): RouteHandler;
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
import { RouteNotFoundError } from "@lithia-js/core/server";
|
|
2
|
+
export function handleAuth(auth) {
|
|
3
|
+
return async (req, res) => {
|
|
4
|
+
if (!["POST", "GET"].includes(req.method)) {
|
|
5
|
+
res.status(405).send("Method Not Allowed");
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const body = await req.body();
|
|
9
|
+
const headers = new Headers();
|
|
10
|
+
Object.entries(req.headers).forEach(([key, value]) => {
|
|
11
|
+
if (value)
|
|
12
|
+
headers.append(key, value.toString());
|
|
13
|
+
});
|
|
14
|
+
if (body && Object.keys(body).length > 0) {
|
|
15
|
+
headers.set("Content-Type", "application/json");
|
|
16
|
+
}
|
|
17
|
+
const authReq = new Request(`http://internal${req.pathname}`, {
|
|
18
|
+
method: req.method,
|
|
19
|
+
headers,
|
|
20
|
+
body: body && Object.keys(body).length > 0 ? JSON.stringify(body) : undefined,
|
|
21
|
+
});
|
|
22
|
+
const authRes = await auth.handler(authReq);
|
|
23
|
+
authRes.headers.forEach((value, key) => {
|
|
24
|
+
if (!["transfer-encoding", "content-length"].includes(key.toLowerCase())) {
|
|
25
|
+
res.setHeader(key, value);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
if (authRes.status === 404) {
|
|
29
|
+
throw new RouteNotFoundError(req.pathname);
|
|
30
|
+
}
|
|
31
|
+
const text = authRes.body
|
|
32
|
+
? await new Response(authRes.body).text()
|
|
33
|
+
: undefined;
|
|
34
|
+
res.status(authRes.status).send(text);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
3
37
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,UAAU,UAAU,CAAC,IAAU;IACpC,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,IAAI,EACH,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IACC,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACnE,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lithia-js/better-auth",
|
|
3
|
-
"version": "1.0.0-canary.
|
|
3
|
+
"version": "1.0.0-canary.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Lucas Arch <luketsx@icloud.com>",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"better-auth": "^1.4.17",
|
|
23
|
-
"@lithia-js/core": "1.0.0-canary.
|
|
23
|
+
"@lithia-js/core": "1.0.0-canary.9"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
26
|
"node": ">=20"
|
package/dist/handler.d.mts
DELETED
package/dist/handler.mjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { RouteNotFoundError } from "@lithia-js/core/server";
|
|
2
|
-
export function handleAuth(auth) {
|
|
3
|
-
return async (req, res) => {
|
|
4
|
-
if (!["POST", "GET"].includes(req.method)) {
|
|
5
|
-
res.status(405).send("Method Not Allowed");
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const body = await req.body();
|
|
9
|
-
const headers = new Headers();
|
|
10
|
-
Object.entries(req.headers).forEach(([key, value]) => {
|
|
11
|
-
if (value)
|
|
12
|
-
headers.append(key, value.toString());
|
|
13
|
-
});
|
|
14
|
-
if (body && Object.keys(body).length > 0) {
|
|
15
|
-
headers.set("Content-Type", "application/json");
|
|
16
|
-
}
|
|
17
|
-
const authReq = new Request(`http://internal${req.pathname}`, {
|
|
18
|
-
method: req.method,
|
|
19
|
-
headers,
|
|
20
|
-
body: body && Object.keys(body).length > 0 ? JSON.stringify(body) : undefined,
|
|
21
|
-
});
|
|
22
|
-
const authRes = await auth.handler(authReq);
|
|
23
|
-
authRes.headers.forEach((value, key) => {
|
|
24
|
-
if (!["transfer-encoding", "content-length"].includes(key.toLowerCase())) {
|
|
25
|
-
res.setHeader(key, value);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
if (authRes.status === 404) {
|
|
29
|
-
throw new RouteNotFoundError(req.pathname);
|
|
30
|
-
}
|
|
31
|
-
const text = authRes.body
|
|
32
|
-
? await new Response(authRes.body).text()
|
|
33
|
-
: undefined;
|
|
34
|
-
res.status(authRes.status).send(text);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=handler.mjs.map
|
package/dist/handler.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.mjs","sourceRoot":"","sources":["../src/handler.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,UAAU,UAAU,CAAC,IAAU;IACpC,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,IAAI,EACH,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IACC,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACnE,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;AACH,CAAC"}
|
package/dist/useAuth.d.mts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type Middleware } from "@lithia-js/core/server";
|
|
2
|
-
import type { Auth } from "better-auth/types";
|
|
3
|
-
interface AuthMiddlewareOptions {
|
|
4
|
-
error: {
|
|
5
|
-
throw: boolean;
|
|
6
|
-
message: string;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export type AuthContext<T extends Auth = Auth> = {
|
|
10
|
-
session: Awaited<ReturnType<T["api"]["getSession"]>>;
|
|
11
|
-
};
|
|
12
|
-
export declare function authenticated(auth: Auth, options?: AuthMiddlewareOptions): Middleware;
|
|
13
|
-
export declare function getAuthContext<T extends Auth = Auth>(): AuthContext<T>;
|
|
14
|
-
export declare function useSession<T extends Auth = Auth>(): AuthContext<T>["session"];
|
|
15
|
-
export {};
|
package/dist/useAuth.mjs
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import { RequestError } from "@lithia-js/core/server";
|
|
3
|
-
import { fromNodeHeaders } from "better-auth/node";
|
|
4
|
-
const authContext = new AsyncLocalStorage();
|
|
5
|
-
export function authenticated(auth, options = {
|
|
6
|
-
error: {
|
|
7
|
-
message: "No valid authentication session found",
|
|
8
|
-
throw: true,
|
|
9
|
-
},
|
|
10
|
-
}) {
|
|
11
|
-
return async (req, _, next) => {
|
|
12
|
-
const session = await auth.api.getSession({
|
|
13
|
-
headers: fromNodeHeaders(req.headers),
|
|
14
|
-
});
|
|
15
|
-
if (!session)
|
|
16
|
-
if (options.error.throw) {
|
|
17
|
-
throw new RequestError(401, options.error.message);
|
|
18
|
-
}
|
|
19
|
-
authContext.run({ session }, () => {
|
|
20
|
-
next();
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function getAuthContext() {
|
|
25
|
-
const context = authContext.getStore();
|
|
26
|
-
if (!context) {
|
|
27
|
-
throw new Error("No authentication context available");
|
|
28
|
-
}
|
|
29
|
-
return context;
|
|
30
|
-
}
|
|
31
|
-
export function useSession() {
|
|
32
|
-
const context = getAuthContext();
|
|
33
|
-
return context.session;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=useAuth.mjs.map
|
package/dist/useAuth.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.mjs","sourceRoot":"","sources":["../src/useAuth.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAcnD,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAe,CAAC;AAEzD,MAAM,UAAU,aAAa,CAC5B,IAAU,EACV,UAAiC;IAChC,KAAK,EAAE;QACN,OAAO,EAAE,uCAAuC;QAChD,KAAK,EAAE,IAAI;KACX;CACD;IAED,OAAO,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO;YACX,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;QAEF,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;YACjC,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAgC,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,cAAc,EAAK,CAAC;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC"}
|