Skip to content

Conversation

@nikomatt69
Copy link
Owner

Add comprehensive OAuth authentication support for OpenAI Codex models,
enabling users with ChatGPT Pro/Plus subscriptions to access Codex models
(gpt-5.1-codex, gpt-5.1-codex-mini, gpt-5.2-codex) without API keys.

Implementation includes:

  • New OAuth authentication module (src/cli/auth/openai-oauth.ts):

    • PKCE flow with SHA-256 for secure authentication
    • Token management with automatic refresh
    • Support for ChatGPT Pro/Plus subscription access
    • Compatible with OpenAI's OAuth 2.0 endpoint
  • Config manager updates (src/cli/core/config-manager.ts):

    • Added openaiOAuth configuration schema with encryption
    • Token storage methods: get, set, clear, has
    • Temporary verifier/state management for OAuth flow
    • Secure token encryption using KeyEncryption
  • Modern AI provider integration (src/cli/ai/modern-ai-provider.ts):

    • Automatic OAuth detection for Codex models
    • Custom fetch with bearer token authentication
    • Fallback to API key for non-Codex models
    • Token auto-refresh on expiration
  • CLI commands (src/cli/nik-cli.ts):

    • /auth openai - Initialize OAuth flow with authorization URL
    • /auth openai-login - Complete OAuth flow with authorization code
    • /auth openai status - Check OAuth connection status
    • /auth openai logout - Disconnect OAuth session
    • Interactive prompts for code input

Inspired by opencode implementation (anomalyco/opencode#7537)

Add comprehensive OAuth authentication support for OpenAI Codex models,
enabling users with ChatGPT Pro/Plus subscriptions to access Codex models
(gpt-5.1-codex, gpt-5.1-codex-mini, gpt-5.2-codex) without API keys.

Implementation includes:

- New OAuth authentication module (src/cli/auth/openai-oauth.ts):
  * PKCE flow with SHA-256 for secure authentication
  * Token management with automatic refresh
  * Support for ChatGPT Pro/Plus subscription access
  * Compatible with OpenAI's OAuth 2.0 endpoint

- Config manager updates (src/cli/core/config-manager.ts):
  * Added openaiOAuth configuration schema with encryption
  * Token storage methods: get, set, clear, has
  * Temporary verifier/state management for OAuth flow
  * Secure token encryption using KeyEncryption

- Modern AI provider integration (src/cli/ai/modern-ai-provider.ts):
  * Automatic OAuth detection for Codex models
  * Custom fetch with bearer token authentication
  * Fallback to API key for non-Codex models
  * Token auto-refresh on expiration

- CLI commands (src/cli/nik-cli.ts):
  * /auth openai - Initialize OAuth flow with authorization URL
  * /auth openai-login - Complete OAuth flow with authorization code
  * /auth openai status - Check OAuth connection status
  * /auth openai logout - Disconnect OAuth session
  * Interactive prompts for code input

Inspired by opencode implementation (anomalyco/opencode#7537)
@cloudflare-workers-and-pages
Copy link

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
nikcli 081d2c9 Jan 10 2026, 04:10 AM

@nikomatt69
Copy link
Owner Author

@claude make a review

@nikomatt69
Copy link
Owner Author

/nikcli help

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.

2 participants