Commit Graph

4 Commits

Author SHA1 Message Date
Garry Tan d45ec97591 feat: device code auth flow (RFC 8628) for gstack-auth
Rewrites gstack-auth to use browser-based device code flow as default:
CLI requests code → browser opens gstack.gg → user approves → CLI
gets Supabase tokens. Email OTP preserved as fallback for SSH/headless.

Adds change-email subcommand and browser detection (open/xdg-open).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:05:14 -07:00
Garry Tan 3df8a77b00 chore: stage pre-existing community tier changes
Community tier auth, backup/restore, and test updates that were already
on this branch before the telemetry sprint. Includes updated telemetry
prompt test to match 3-option community tier flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 15:49:40 -07:00
Garry Tan 03de795195 fix: simplify auth to OTP-only, remove magic link complexity
Magic link requires matching the Supabase Site URL to a dynamic local
port, which doesn't work reliably. OTP is the right UX for a CLI tool
— user is already in a terminal, typing 6 digits is fast. Removes
bun callback server, nc listener, port detection, and cleanup traps.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 08:20:48 -07:00
Garry Tan 3f2dca1aaa feat: email OTP + magic link auth for community tier
Two-path authentication: enter 6-digit code in terminal OR click magic
link in email. Races both paths — whichever completes first wins.
Saves JWT to ~/.gstack/auth-token.json with auto-refresh. Includes
status and logout subcommands.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:54:28 -07:00