Hello,
I’m stuck at this OAuth barrier and cannot move forward with my app development.
Have you experienced (and overcome) this OAuth barrier? Thank you.
Issue … Bottom Line Up Front - We’re experiencing a Zoom OAuth callback URL mismatch resulting in error 4700 during the authentication flow. Despite configuring the redirect URL with the /auth
prefix, Zoom appears to be redirecting to a different path.
Technical Configuration
- OAuth App Settings:
- Client ID: bwNRE______G7w
- Configured Redirect URL: ___https://18characters.ngrok-free.app/auth/zoom/callback
- Security Settings: Both “Subdomain Check” and “Strict Mode” are enabled
- Implementation Details:
- Using Express.js for the server implementation
- Implementing full OAuth 2.0 flow with state parameter for CSRF protection
- All routes are properly secured with Helmet middleware for security headers
- Comprehensive logging implemented for debugging OAuth flow
- Security Measures:
- HTTPS enforced through ngrok tunnel
- Implementing security headers:
- Strict-Transport-Security
- X-Content-Type-Options
- Content-Security-Policy
- Referrer-Policy
- State parameter validation for CSRF protection
- Secure cookie handling
Issue Description
- Expected Behavior:
- User clicks “Connect with Zoom”
- Redirects to Zoom OAuth consent screen
- After consent, Zoom should redirect to: ___https://18characters.ngrok-free.app/auth/zoom/callback
- Actual Behavior:
- Initial OAuth redirect works correctly
- After consent, Zoom redirects to ___https://18characters.ngrok-free.app/zoom
- Results in error 4700 due to redirect URL mismatch
- Troubleshooting Steps Taken:
- Verified exact URL match in Zoom App Marketplace configuration
- Enabled Strict Mode and Subdomain Check
- Implemented comprehensive request logging
- Verified proper URL encoding in OAuth requests
- Confirmed security headers are not interfering with the redirect
Questions for Zoom Dev Forum:
- Is there a known limitation with redirect URLs containing the
/auth
path segment? - Are there any specific requirements for redirect URL patterns that we should be aware of?
- Could there be an issue with how the platform handles nested paths in redirect URLs?
- Are there any specific settings in the Zoom App Marketplace that might affect how redirect URLs are processed?
Additional Context:
- The application will be a production system requiring secure OAuth implementation (in Development phase now)
- We’re using ngrok for development/testing, but the issue persists with production URLs
- All other OAuth flows in the application (not Zoom-related) work correctly with the
/auth
prefix
Please let us know if you need any additional information or specific logs to help diagnose this issue.