# Diagnose: callback error page

## Symptom

User completes login at Auth0, returns to your callback URL, and sees an error page or `?error=access_denied` / `?error=server_error` in the URL.

## Likely causes

1. An Action or Rule denied the login (api.access.deny).
2. Consent denied by the user.
3. Account blocked by attack protection.
4. Misconfigured connection or organization requirement.

## Confirm

Dashboard > Monitoring > Logs. Filter by the user's email or `type:f` (failed login). Match the timestamp to the failing attempt within a minute. Open the event: `details.error` gives the machine reason, `connection` and `client` name the actors, and `details` shows whether an extensibility point (Action/Rule) fired.

If there is NO failed-login event at the timestamp, Auth0 succeeded and the failure is in YOUR callback handler (code exchange, session write). Move debugging to the app.

## Fix

- Action denial: edit the Action's deny condition, redeploy, retest.
- Consent: handle gracefully; only fixable via skip-consent config for first-party apps.
- Blocked account: unblock via user management or the unblock email flow.

## Verify

Repeat the login with the same user and connection. Confirm a successful login event (type `s`) appears in the logs and the callback completes with a session. Watch one full cycle in an incognito window.