Skip to content

refactor: simplify auth flow — remove CORA_API_KEY, centralize to auth.toml#203

Merged
ajianaz merged 2 commits into
developfrom
refactor/auth-simplify
Jun 7, 2026
Merged

refactor: simplify auth flow — remove CORA_API_KEY, centralize to auth.toml#203
ajianaz merged 2 commits into
developfrom
refactor/auth-simplify

Conversation

@ajianaz

@ajianaz ajianaz commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Remove redundant CORA_API_KEY env var and centralize all auth to ~/.cora/auth.toml.

Changes

Remove CORA_API_KEY env var

  • main.rs: --api-key flag no longer reads CORA_API_KEY env
  • loader.rs: build_llm_config() no longer checks CORA_API_KEY
  • loader.rs: auth_status() no longer checks CORA_API_KEY

Fix: provider info from auth.toml now used at runtime

  • build_llm_config() now loads stored_provider_info from auth.toml
  • Priority: CORA_* env vars > auth.toml > auto-detected preset > config defaults
  • Fixes bug where cora review showed "Sending to openai" despite auth.toml having zai configured

Improved interactive login (cora auth login)

  • Provider selection → auto-detect env var (e.g. pick zai → checks ZAI_API_KEY)
  • Confirm to use detected key, or input manually
  • Model: shows preset default, enter to accept, type to override
  • Base URL: same as model — preset default suggested

Improved non-interactive login

  • cora auth login --provider zai auto-detects ZAI_API_KEY from env
  • No need for --api-key flag if provider env var is set

Updated messages

  • init.rs, providers.rs, auth.rs — removed CORA_API_KEY references

New API Key Resolution Priority

# Source Description
1 --api-key flag One-shot CLI override
2 ~/.cora/auth.toml Primary persistent storage
3 Provider env vars Auto-detect fallback (ZAI_API_KEY, OPENAI_API_KEY, etc.)

Test Plan

  • All 333 unit tests pass
  • All 16 CLI tests pass
  • cora auth status shows correct provider from auth.toml
  • cora review sends to correct provider (zai, not openai)
  • cora review --stream shows "Streaming from zai (glm-5.1)"

ajianaz added 2 commits June 7, 2026 15:25
…h.toml

- Remove CORA_API_KEY env var from clap flag and build_llm_config
- auth.toml is now the single source of truth for persisted credentials
- Interactive login now auto-detects provider env vars (e.g. ZAI_API_KEY)
- Model and base URL show defaults from preset, enter to accept
- Non-interactive login also auto-detects provider env vars
- Fix provider info from auth.toml being ignored at runtime
  (build_llm_config now reads stored provider/model/base_url)
- Update status/remove/init/providers messages
@ajianaz
ajianaz merged commit c9bd992 into develop Jun 7, 2026
11 checks passed
@ajianaz
ajianaz deleted the refactor/auth-simplify branch June 8, 2026 04:22
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