Skip to content

Commit 717eca5

Browse files
committed
Fix NextAuth 500 errors by adding NEXTAUTH_URL environment variable
- Add NEXTAUTH_URL to wrangler.toml for Cloudflare deployment - Update GitHub Actions workflows to include NEXTAUTH_URL secret - Update deployment documentation to include NEXTAUTH_URL requirement - Update README with NEXTAUTH_URL configuration instructions This resolves the 500 errors on /api/auth/session and /api/auth/_log endpoints by ensuring NextAuth has the correct production URL for proper initialization.
1 parent d6cfa1a commit 717eca5

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

.github/workflows/cloudflare-branch.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
command: deploy --minify
5959
env:
6060
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
61+
NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }}
6162
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
6263
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
6364
GOOGLE_TRANSLATE_API_KEY: ${{ secrets.GOOGLE_TRANSLATE_API_KEY }}

.github/workflows/cloudflare.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ jobs:
5656
command: deploy --minify
5757
env:
5858
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
59+
NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }}
5960
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
6061
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
6162
GOOGLE_TRANSLATE_API_KEY: ${{ secrets.GOOGLE_TRANSLATE_API_KEY }}

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ Comprehendo implements strategies to manage AI API costs:
140140
- `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` (optional, if enabling Google login)
141141
- `DISCORD_CLIENT_ID`, `DISCORD_CLIENT_SECRET` (optional, if enabling Discord login)
142142
- `AUTH_SECRET`: Generate with `openssl rand -base64 32`
143-
- `NEXTAUTH_URL`: The canonical URL of your deployment (e.g., `http://localhost:3000` for local development).
143+
- `NEXTAUTH_URL`: The canonical URL of your deployment (e.g., `http://localhost:3000` for local development, `https://comprehendo.tre.systems` for production).
144144
- `ADMIN_EMAILS`: Comma-separated list of emails for admin access (e.g., `admin@example.com,test@test.com`).
145145
- `GOOGLE_TRANSLATE_API_KEY`: (Optional) Needed for hover translation feature.
146146
- `RATE_LIMIT_MAX_REQUESTS_PER_HOUR`: (Optional, default 100) Max exercise generation requests per IP per hour.
@@ -207,6 +207,7 @@ The application is configured to deploy to Cloudflare Workers using OpenNext and
207207
5. **Set Production Secrets:**
208208
```bash
209209
wrangler secret put NEXTAUTH_SECRET
210+
wrangler secret put NEXTAUTH_URL
210211
wrangler secret put GOOGLE_CLIENT_ID
211212
wrangler secret put GOOGLE_CLIENT_SECRET
212213
wrangler secret put GOOGLE_TRANSLATE_API_KEY

docs/cloudflare-deployment-guide.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,16 @@ In your GitHub repository:
6565

6666
### Required Secrets
6767

68-
| Secret Name | Description | How to Get |
69-
| -------------------------- | -------------------------- | ---------------------------------------- |
70-
| `CLOUDFLARE_API_TOKEN` | Cloudflare API token | From Step 1 |
71-
| `CLOUDFLARE_ACCOUNT_ID` | Cloudflare Account ID | From Step 2 |
72-
| `NEXTAUTH_SECRET` | NextAuth.js secret | Generate with: `openssl rand -base64 32` |
73-
| `GOOGLE_CLIENT_ID` | Google OAuth Client ID | From Google Cloud Console |
74-
| `GOOGLE_CLIENT_SECRET` | Google OAuth Client Secret | From Google Cloud Console |
75-
| `GOOGLE_TRANSLATE_API_KEY` | Google Translate API Key | From Google Cloud Console |
76-
| `ADMIN_EMAILS` | Admin email addresses | Comma-separated list |
68+
| Secret Name | Description | How to Get |
69+
| -------------------------- | -------------------------- | ------------------------------------------------------------- |
70+
| `CLOUDFLARE_API_TOKEN` | Cloudflare API token | From Step 1 |
71+
| `CLOUDFLARE_ACCOUNT_ID` | Cloudflare Account ID | From Step 2 |
72+
| `NEXTAUTH_SECRET` | NextAuth.js secret | Generate with: `openssl rand -base64 32` |
73+
| `NEXTAUTH_URL` | NextAuth.js URL | Your production URL (e.g., `https://comprehendo.tre.systems`) |
74+
| `GOOGLE_CLIENT_ID` | Google OAuth Client ID | From Google Cloud Console |
75+
| `GOOGLE_CLIENT_SECRET` | Google OAuth Client Secret | From Google Cloud Console |
76+
| `GOOGLE_TRANSLATE_API_KEY` | Google Translate API Key | From Google Cloud Console |
77+
| `ADMIN_EMAILS` | Admin email addresses | Comma-separated list |
7778

7879
### Generate NextAuth Secret
7980

wrangler.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ migrations_dir = "migrations"
1515

1616
[vars]
1717
NODE_ENV = "production"
18+
NEXTAUTH_URL = "https://comprehendo.tre.systems"

0 commit comments

Comments
 (0)