Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions modules/solidstart-better-auth-test/app.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from "@solidjs/start/config";

export default defineConfig({
ssr: true
});
31 changes: 31 additions & 0 deletions modules/solidstart-better-auth-test/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"name": "solidstart-better-auth-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "vinxi dev",
"build": "vinxi build",
"start": "vinxi start"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "module",
"devDependencies": {
"@solidjs/meta": "^0.29.4",
"@solidjs/router": "^0.15.3",
"@solidjs/start": "^1.1.7",
"solid-js": "^1.9.9",
"vinxi": "^0.5.8",
"vite": "^7.1.4"
},
"dependencies": {
"better-auth": "^1.3.8"
},
"browserslist": [
"chrome >= 107",
"firefox >= 105",
"edge >= 107"
]
}
19 changes: 19 additions & 0 deletions modules/solidstart-better-auth-test/src/app.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Router } from "@solidjs/router";
import { FileRoutes } from "@solidjs/start/router";
import { Suspense } from "solid-js";
import { MetaProvider, Title } from "@solidjs/meta";

export default function App() {
return (
<Router
root={(props) => (
<MetaProvider>
<Title>SolidStart + Better Auth Test</Title>
<Suspense>{props.children}</Suspense>
</MetaProvider>
)}
>
<FileRoutes />
</Router>
);
}
5 changes: 5 additions & 0 deletions modules/solidstart-better-auth-test/src/entry-client.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { mount, StartClient } from "@solidjs/start/client";

export default function() {
mount(() => <StartClient />, document.getElementById("app")!);
}
19 changes: 19 additions & 0 deletions modules/solidstart-better-auth-test/src/entry-server.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { createHandler, renderAsync, StartServer } from "@solidjs/start/server";

export default createHandler(() => (
<StartServer
document={({ assets, children, scripts }) => (
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
{assets}
</head>
<body>
<div id="app">{children}</div>
{scripts}
</body>
</html>
)}
/>
));
18 changes: 18 additions & 0 deletions modules/solidstart-better-auth-test/src/lib/auth-client.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { createAuthClient } from "better-auth/client";
import { inferAdditionalFields } from "better-auth/client/plugins";

export const authClient = createAuthClient({
baseURL: "http://localhost:3000",
plugins: [
inferAdditionalFields({
user: {
role: {
type: "string",
required: false,
},
},
}),
],
});

export type Session = typeof authClient.$Infer.Session;
13 changes: 13 additions & 0 deletions modules/solidstart-better-auth-test/src/lib/auth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { betterAuth } from "better-auth";
import { database } from "better-auth/adapters";

export const auth = betterAuth({
database: database({
provider: "sqlite",
url: "./dev.db",
}),
emailAndPassword: {
enabled: true,
},
trustedOrigins: ["http://localhost:3000"],
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { auth } from "~/lib/auth";
import { APIEvent } from "@solidjs/start/server";

export async function GET(event: APIEvent) {
return auth.handler(event.request);
}

export async function POST(event: APIEvent) {
return auth.handler(event.request);
}
21 changes: 21 additions & 0 deletions modules/solidstart-better-auth-test/src/routes/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { createSignal, onMount } from "solid-js";
import { authClient } from "~/lib/auth-client";

export default function Home() {
const [session, setSession] = createSignal(null);

onMount(async () => {
const { data } = await authClient.getSession();
setSession(data);
});

return (
<main>
<h1>Welcome to SolidStart + Better Auth Test</h1>
<p>Testing better-auth v1.3.8 integration</p>
<div>
<p>Session status: {session() ? "Logged in" : "Not logged in"}</p>
</div>
</main>
);
}
Loading