Skip to content

feat: add OAuth URL scheme infrastructure#14

Open
Anmol1696 wants to merge 3 commits into
mainfrom
feat/oauth-url-scheme
Open

feat: add OAuth URL scheme infrastructure#14
Anmol1696 wants to merge 3 commits into
mainfrom
feat/oauth-url-scheme

Conversation

@Anmol1696
Copy link
Copy Markdown
Collaborator

Summary

Add infrastructure for seamless OAuth callback via openclaw:// URL scheme:

  • Register openclaw:// URL scheme in Info.plist (via build.sh)
  • Add onOpenURL handler in OpenClawApp to receive callbacks
  • Add handleOAuthCallback method to process incoming codes
  • Keep manual code entry as fallback (web redirect still default)

Depends on: #13 (feat/multi-provider-auth)

Note

Custom URL scheme requires Anthropic to accept openclaw://oauth/callback as redirect URI. Currently defaults to web callback until verified. To enable, update AnthropicOAuth.redirectURI to use customRedirectURI.

Test plan

  • Build app: cd app/macos && bash build.sh
  • Verify Info.plist contains CFBundleURLTypes with openclaw scheme
  • Test OAuth flow (manual code entry should still work)
  • Future: Test automatic callback once Anthropic accepts custom scheme

Remove blocking auth requirement on first launch. Users now see a
warning that no auth is configured but the container starts anyway.
Auth can be configured later in the Control UI.
Add support for multiple AI providers in the auth flow:
- Anthropic (OAuth + API key)
- OpenAI (API key)
- Google AI (API key)

New UI shows provider picker on first run, with each provider having
its own configuration flow. Users can skip and configure later in
Control UI.
Add infrastructure for seamless OAuth callback via openclaw:// URL scheme:
- Register openclaw:// URL scheme in Info.plist (via build.sh)
- Add onOpenURL handler in OpenClawApp to receive callbacks
- Add handleOAuthCallback method to process incoming codes
- Keep manual code entry as fallback (web redirect still default)

Note: Custom URL scheme requires Anthropic to accept openclaw:// as
redirect URI. Currently defaults to web callback until verified.
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