feat(wallet): oauth login flow via dashboard.zerion.io#95
Conversation
Add a modern browser login flow (like `claude` / `gh auth login`): the CLI starts a loopback server, opens dashboard.zerion.io/oauth/authorize, and captures the API key from the redirect. Exposed as a standalone `zerion login` command and as an interactive picker in `zerion init` (browser login first, then paste-a-key, then pay-per-call info). - cli/utils/api/oauth.js: loopback authorize flow (client_id=zerion-cli, 127.0.0.1 bind, state CSRF guard, 302 to /oauth/success, 5m timeout) - cli/utils/api/interactive-auth.js: shared auth-method picker - cli/utils/common/select.js: arrow-key single-select extracted from policy-picker.js (now reused there) - cli/utils/common/browser.js: shared openBrowser helper - ZERION_DASHBOARD_URL override for staging/local QA - README + --help + router usage updated Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
✅ Loop review — iteration 1/5Verdict:
SummaryReviewed PR #95 at head The change adds a modern browser (OAuth-style) login to the CLI: a Everything in the spec is implemented and verified working end-to-end. All 299 Findings[minor/tests] New browser-login flow has no automated test coverage
[minor/code]
|
Add a modern browser login flow (like
claude/gh auth login): the CLI starts a loopback server, opens dashboard.zerion.io/oauth/authorize, and captures the API key from the redirect. Exposed as a standalonezerion logincommand and as an interactive picker inzerion init(browser login first, then paste-a-key, then pay-per-call info).