Skip to content

Commit 898c70b

Browse files
committed
fix stuff based on copilot review
1 parent d9e1106 commit 898c70b

File tree

2 files changed

+31
-13
lines changed

2 files changed

+31
-13
lines changed

src/app/dashboard/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default async function DashboardPage() {
2828
User Info:
2929
</p>
3030
<p className="text-zinc-600 dark:text-zinc-400">
31-
Email: <strong>{session.user.email}</strong>
31+
Email: <strong>{session.user.email || "Not provided"}</strong>
3232
</p>
3333
<p className="text-zinc-600 dark:text-zinc-400">
3434
User ID: <strong>{session.user.id}</strong>

src/lib/auth.ts

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,22 @@ import { betterAuth } from "better-auth";
22
import { genericOAuth } from "better-auth/plugins";
33

44
// Read from environment variables to support any OIDC provider
5-
const OIDC_ISSUER = process.env.OIDC_ISSUER_URL || "";
6-
const OIDC_CLIENT_ID = process.env.OIDC_CLIENT_ID || "";
7-
const OIDC_CLIENT_SECRET = process.env.OIDC_CLIENT_SECRET || "";
8-
const BETTER_AUTH_SECRET = process.env.BETTER_AUTH_SECRET || "ChangeMePlease";
5+
const OIDC_ISSUER = process.env.OIDC_ISSUER_URL;
6+
const OIDC_CLIENT_ID = process.env.OIDC_CLIENT_ID;
7+
const OIDC_CLIENT_SECRET = process.env.OIDC_CLIENT_SECRET;
8+
const BETTER_AUTH_SECRET = process.env.BETTER_AUTH_SECRET;
99
const BETTER_AUTH_URL = process.env.BETTER_AUTH_URL || "http://localhost:3000";
1010

11+
// Validate required environment variables
12+
if (!BETTER_AUTH_SECRET) {
13+
throw new Error(
14+
"[Better Auth] BETTER_AUTH_SECRET is required. Set it in .env.local to a strong, random value.",
15+
);
16+
}
17+
1118
if (!OIDC_ISSUER || !OIDC_CLIENT_ID || !OIDC_CLIENT_SECRET) {
12-
console.warn(
13-
"[Better Auth] Missing OIDC configuration. Set OIDC_ISSUER_URL, OIDC_CLIENT_ID, and OIDC_CLIENT_SECRET in .env.local",
19+
throw new Error(
20+
"[Better Auth] OIDC configuration is incomplete. Set OIDC_ISSUER_URL, OIDC_CLIENT_ID, and OIDC_CLIENT_SECRET in .env.local",
1421
);
1522
}
1623

@@ -22,15 +29,26 @@ console.log("[Better Auth] OIDC Configuration:", {
2229
callbackURL: `${BETTER_AUTH_URL}/api/auth/oauth2/callback/oidc`,
2330
});
2431

32+
// Configure trusted origins - defaults to localhost ports for development
33+
// Set TRUSTED_ORIGINS environment variable for production (comma-separated list)
34+
const trustedOrigins = process.env.TRUSTED_ORIGINS
35+
? process.env.TRUSTED_ORIGINS.split(",").map((origin) => origin.trim())
36+
: [
37+
"http://localhost:3000",
38+
"http://localhost:3001",
39+
"http://localhost:3002",
40+
"http://localhost:3003",
41+
];
42+
43+
// Always include BETTER_AUTH_URL if not already present
44+
if (BETTER_AUTH_URL && !trustedOrigins.includes(BETTER_AUTH_URL)) {
45+
trustedOrigins.push(BETTER_AUTH_URL);
46+
}
47+
2548
export const auth = betterAuth({
2649
secret: BETTER_AUTH_SECRET,
2750
baseURL: BETTER_AUTH_URL,
28-
trustedOrigins: [
29-
"http://localhost:3000",
30-
"http://localhost:3001",
31-
"http://localhost:3002",
32-
"http://localhost:3003",
33-
],
51+
trustedOrigins,
3452
// No database configuration - running in stateless mode
3553
session: {
3654
expiresIn: 60 * 60 * 24 * 7, // 7 days

0 commit comments

Comments
 (0)