Discord OAuth Setup Verification Checklist

πŸ”΄ CRITICAL: OAuth Redirect URI Registration

This is the most common cause of session loss during Discord linking.

Step 1: Open Discord Developer Portal

  1. Go to: https://discord.com/developers/applications

  2. Find and click: AeThex application

  3. Left sidebar, click: OAuth2

  4. Find the section: REDIRECT URLS or REDIRECTS

Step 2: Verify Redirect URI is Registered

You must have this exact URL registered:

https://aethex.dev/api/discord/oauth/callback

If you're using a different domain (like localhost for testing):

http://localhost:5173/api/discord/oauth/callback

Step 3: Add Missing Redirect URI (If Needed)

If the URL is NOT listed:

  1. Click: Add Redirect button

  2. Paste the correct URL:

    https://aethex.dev/api/discord/oauth/callback
  3. Click: Save Changes

  4. Wait - changes may take 1-2 minutes to propagate

⚠️ IMPORTANT: The redirect URI must match EXACTLY:

  • Correct: https://aethex.dev/api/discord/oauth/callback

  • Wrong: https://aethex.dev/api/discord/callback (missing /oauth)

  • Wrong: aethex.dev/api/discord/oauth/callback (missing https://)

  • Wrong: https://aethex.dev/api/discord/oauth/callback/ (trailing slash)


🟒 TESTING THE DISCORD LINKING FLOWS

After verifying the redirect URI, test both flows:

Test Flow 1: Discord /verify Command

  1. In Discord, type: /verify

  2. Click the link button or copy the code

  3. Browser opens: https://aethex.dev/discord-verify?code=XXXXXX

  4. Page auto-submits and links your account

  5. You should see: βœ… Success message

  6. Redirects to: /dashboard?tab=connections (FIXED)

  7. You should see Discord in your connections list

If it redirects to /profile/settings instead:

  • This has been FIXED in the code update

If it shows an error:

  • Check the error message in the browser console

  • Note: Session may be lost if redirect URI not registered


This is the flow that had session loss issues.

  1. Go to: /dashboard?tab=connections

  2. Click: Link Discord button

  3. You'll be redirected to Discord OAuth

  4. Click: Authorize on Discord

  5. Discord redirects back to your app

  6. EXPECTED: You should be redirected to /dashboard?tab=connections

  7. EXPECTED: You should still be logged in

  8. EXPECTED: Discord should appear in your connections

If you're redirected to /login instead:

  • Session was lost during OAuth callback

  • Cause: Redirect URI not registered in Discord Dev Portal

  • Solution: Follow Step 1-3 above to add the redirect URI

  • Then: Try the flow again

If you see an error about session being lost:

  • This means the backend detected missing session cookies

  • Check the browser console for error details

  • The error message now tells you to verify Discord Dev Portal settings


πŸ”΅ ENVIRONMENT VARIABLES CHECKLIST

Verify these are set correctly:

Frontend (code/.env or deployment platform)

Backend/Server (environment variables)


🟑 COMMON ISSUES & SOLUTIONS

Issue 1: "Session Lost" Error After Discord OAuth

Cause: Redirect URI not registered in Discord Dev Portal

Solution:

  1. Open Discord Developer Portal

  2. Go to OAuth2 β†’ Redirects

  3. Verify https://aethex.dev/api/discord/oauth/callback is listed

  4. If not listed, add it and save

  5. Try the linking flow again (may need to clear browser cache first)


Cause: Linking succeeded but auth state not refreshed

Solution:

  1. Verify the discord_links table in Supabase has the record

    • Go to: https://app.supabase.com/project/kmdeisowhtsalsekkzqd

    • Find table: discord_links

    • Check if your discord_id and user_id are recorded

  2. If record exists but not showing in UI:

    • Reload the page or go to /dashboard

    • The UI should refresh and show Discord connection

  3. If record doesn't exist:

    • The linking failed silently

    • Check browser console for errors

    • Try the /verify flow instead


Issue 3: Wrong Redirect Page After /verify Command

Old Problem: Redirected to /profile/settings

Solution: βœ… FIXED in code

  • The code now redirects to /dashboard?tab=connections

  • If you're still seeing /profile/settings:

    • Clear browser cache (Ctrl+Shift+Delete)

    • Deploy the latest code changes


Issue 4: "Already Linked" Error in /verify Command

Cause: Discord account already linked to an AeThex account

Solutions:

  • Option A: Use a different Discord account

  • Option B: Contact admin to unlink the Discord account from the other AeThex account

  • Option C: If it's your old account, use \unlink command to disconnect it, then /verify again


🟣 DEBUGGING STEPS

If something isn't working, follow these steps:

Step 1: Check Browser Console

  1. Open Discord or your app

  2. Press F12 (DevTools)

  3. Go to Console tab

  4. Look for messages starting with [Discord OAuth] or [Discord Activity]

  5. Take a screenshot of any error messages

Step 2: Check Network Tab

  1. In DevTools, go to Network tab

  2. Perform the Discord linking flow

  3. Look for a request to /api/discord/oauth/callback?code=...

  4. Click on it and check:

    • Request Headers β†’ Cookie (should have sb-access-token)

    • Response Headers β†’ Set-Cookie (should have new tokens)

    • Status β†’ Should be 302 (redirect)

Step 3: Check Supabase

  1. Go to: https://app.supabase.com/project/kmdeisowhtsalsekkzqd

  2. Find table: discord_links

  3. Look for your discord_id (check if record exists)

  4. If record exists but UI doesn't show it:

    • Reload the page

    • Or manually call refreshAuthState()

  5. If record doesn't exist:

    • Linking never succeeded

    • Check the Network tab request/response above

Step 4: Check Discord Dev Portal

  1. Go to: https://discord.com/developers/applications/578971245454950421

  2. Click: OAuth2

  3. Scroll to: REDIRECT URLS

  4. Verify: https://aethex.dev/api/discord/oauth/callback is listed

  5. If missing:

    • Add it

    • Save

    • Wait 1-2 minutes

    • Try linking again


βœ… Verification Checklist

When everything is working correctly, you should see:

When all items are checked, your Discord linking is fully functional! πŸŽ‰


Last updated