feat: add optional JWT-based authentication for cloud deployment#163
Open
feat: add optional JWT-based authentication for cloud deployment#163
Conversation
Implements comprehensive authentication system controlled by CATNIP_AUTH_SECRET environment variable: Backend (Go/Fiber): - Add JWT middleware with HMAC-SHA256 signing for secure token validation - Support multiple auth methods: Bearer tokens, cookies, and query parameters - Add token exchange endpoint for seamless CLI-to-browser handoff - Update CORS headers to support Authorization header - Enhance settings endpoint to indicate auth requirements Frontend (React/TypeScript): - Auto-detect and exchange CLI tokens for long-lived session cookies - Clean token from URL after successful exchange - Update auth context to handle new authentication flow - Graceful fallback for token exchange failures CLI Integration: - Generate short-lived tokens (5 min) automatically when opening browser - Seamless handoff from CLI to browser with query parameter tokens - No user interaction required for authentication flow Key Features: - Optional: Only active when CATNIP_AUTH_SECRET is set - Secure: HMAC-SHA256 signed JWTs with configurable expiration - Flexible: CLI tokens (5 min) exchanged for browser sessions (7 days) - Clean: Automatic URL cleanup after token exchange - Compatible: Maintains existing GitHub auth integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements comprehensive authentication system controlled by CATNIP_AUTH_SECRET environment variable:
Backend (Go/Fiber):
Frontend (React/TypeScript):
CLI Integration:
Key Features:
🤖 Generated with Claude Code