-
Notifications
You must be signed in to change notification settings - Fork 37
Add google workspace MCP to runner with necessary oauth additions #469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add google workspace MCP to runner with necessary oauth additions #469
Conversation
Signed-off-by: Michael Clifford <mcliffor@redhat.com> additonal OAuth imperovments Signed-off-by: Michael Clifford <mcliffor@redhat.com> additional oauth security Signed-off-by: Michael Clifford <mcliffor@redhat.com>
Signed-off-by: Michael Clifford <mcliffor@redhat.com> add google drive integration to session frontend Signed-off-by: Michael Clifford <mcliffor@redhat.com> update operator to mount mcp configs Signed-off-by: Michael Clifford <mcliffor@redhat.com> update credentials file location and fields Signed-off-by: Michael Clifford <mcliffor@redhat.com> more config file wrangling Signed-off-by: Michael Clifford <mcliffor@redhat.com> google mcp docs update Signed-off-by: Michael Clifford <mcliffor@redhat.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This comment has been minimized.
This comment has been minimized.
Claude Code ReviewSummaryThis PR adds Google Workspace MCP integration with OAuth 2.0 authentication flow. The implementation adds a comprehensive OAuth handler in the backend, frontend UI for connecting Google Drive, and infrastructure changes to support credential storage. While the OAuth flow implementation is solid with HMAC-signed state tokens and CSRF protection, there are several critical security and architectural issues that must be addressed before merge. Issues by SeverityBlocker Issues1. Missing User Token Authentication (CRITICAL SECURITY VIOLATION)
2. Token Logging (SECURITY LEAK)
3. OAuth State Secret Not Configured in Manifests
Critical Issues4. Using Backend Service Account for OAuth Secret Creation (Authorization Bypass)
5. Missing Error Context in Logs
6. Routes Outside ValidateProjectContext Middleware
7. Unused Function (writeCredentialsToSessionPVC)
Major Issues8. Frontend: No Error Handling for Failed OAuth Connection
9. Frontend: No Verification of OAuth Success
10. Operator: Missing OAuth Secret Volume Mount Logic
11. Missing BACKEND_URL Configuration
Minor Issues12. Inconsistent Error Messages Positive Highlights
RecommendationsImmediate (Before Merge)
Short-term (Next PR)
Long-term Improvements
Security Review SummaryOverall Security Grade: C (Needs Improvement) Strengths: Strong CSRF protection, proper OwnerReferences, state token expiration Critical Gaps: Missing user authentication on OAuth URL generation, potential token logging, authorization bypass in credential storage Recommendation: DO NOT MERGE until blockers 1, 2, and 3 are resolved. The missing authentication on GetOAuthURL is a critical security vulnerability that could allow unauthorized OAuth flows. 🔍 View AI decision process (logs available for 90 days) 📋 View memory system files loaded (click to expand)What Amber Loaded for Code ReviewAmber automatically loaded these repository standards from the memory system:
Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines. |
Signed-off-by: Michael Clifford <mcliffor@redhat.com>
819e744 to
864bff3
Compare
Claude Code ReviewThis PR adds Google Workspace MCP integration with OAuth2 flow. Overall architecture is sound, but there are critical security issues that must be addressed before merge. 🚫 Blocker Issues1. No User Token Authentication in GetOAuthURL (
2. OAuth Secrets in Environment Variables (
3. Hardcoded Namespace in storeOAuthCallback (
4. Frontend Manual fetch() Instead of React Query (
🔴 Critical Issues5. Missing Error Context in Logs - Multiple locations lack project/session context 🟡 Major Issues9. No Tests - 725 lines of backend code with zero tests ✅ Positive Highlights
RecommendationsPriority 1 (REQUIRED FOR MERGE):
Priority 2 (BEFORE PRODUCTION): Overall: The OAuth implementation shows good security awareness (HMAC, state expiry), but the critical authentication bypass in GetOAuthURL blocks this from merging. Estimated Effort: ~4-6 hours for Priority 1 fixes + tests. 🔍 View AI decision process (logs available for 90 days) 📋 View memory system files loaded (click to expand)What Amber Loaded for Code ReviewAmber automatically loaded these repository standards from the memory system:
Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines. |
…bient-code#469) Signed-off-by: Michael Clifford <mcliffor@redhat.com>
…bient-code#469) Signed-off-by: Michael Clifford
…bient-code#469) Signed-off-by: Michael Clifford
No description provided.