Skip to content

feat: Add OAuth provider support (Codex, Gemini, Qwen, MiniMax)#1025

Open
AlexZander85 wants to merge 4 commits intoRightNow-AI:mainfrom
AlexZander85:feature/oauth-providers
Open

feat: Add OAuth provider support (Codex, Gemini, Qwen, MiniMax)#1025
AlexZander85 wants to merge 4 commits intoRightNow-AI:mainfrom
AlexZander85:feature/oauth-providers

Conversation

@AlexZander85
Copy link
Copy Markdown

Summary

  • Adds OAuth2 device code flow for OpenAI Codex, Gemini, Google, Qwen, and MiniMax
  • Fixes pre-existing mcp.rs compilation error (StreamableHttpClientTransportConfig)
  • Adds i18n support (Russian + English)

Changes

  • oauth_providers.rs (638 lines) — OAuth logic for 4 providers
  • API routes for OAuth start/poll flow
  • Dashboard UI with OAuth login buttons

Testing

- Add complete i18n framework with en.json and ru.json locale files
- Add i18n.js with language loading, detection, and fallback logic
- Localize chat.js: slash commands, Toast messages, welcome message
- Localize agents.js: personality presets, profile descriptions
- Localize wizard.js: step labels, channel options, suggestions, profiles
- Localize skills.js: 18 skill categories, uninstall confirm
- Localize sessions.js: delete session/key confirm dialogs

Provides full Russian translation for OpenFang UI as first non-English locale.
Ports OAuth authentication from ZeroClaw:
- OpenAI Codex (ChatGPT subscription) - device code flow + PKCE
- Gemini (Google OAuth) - device code flow
- Qwen (Alibaba) - reads from ~/.qwen/oauth_creds.json
- MiniMax - refresh token based authentication

Implements:
- Device code start/poll functions for each provider
- PKCE code verifier/challenge generation
- Token refresh logic
- OAuthTokenSet struct for vault storage

Note: Full workspace build blocked by pre-existing mcp.rs error
(StreamableHttpClientTransportConfig non-exhaustive struct)
… mcp.rs

- Fix mcp.rs StreamableHttpClientTransportConfig non-exhaustive struct
- Add oauth_providers.rs with device code flows for 4 OAuth providers
- Add API routes for OAuth start/poll endpoints in server.rs and routes.rs
- Add OAuth UI buttons to settings.js dashboard
- Add OAuth provider configs to drivers/mod.rs with oauth_provider field
- Update index_body.html with OAuth login buttons for each provider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant