feat(cli): store credentials in system keyring with JSON fallback#2889
Open
vigneshwarrvenkat wants to merge 1 commit into
Open
feat(cli): store credentials in system keyring with JSON fallback#2889vigneshwarrvenkat wants to merge 1 commit into
vigneshwarrvenkat wants to merge 1 commit into
Conversation
ea6448b to
92fda8c
Compare
Add a CredentialStore abstraction that prefers the OS keyring (via keytar) and falls back to the existing XDG credentials.json file. Automatically migrates plaintext credentials on first run and supports CTX7_CREDENTIAL_STORE=auto|json|keyring. Fixes upstash#2639
92fda8c to
58397bf
Compare
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.
Summary
CredentialStoreabstraction with keyring (viakeytar) and JSON backends~/.config/context7/credentials.jsoninto the system keyringCTX7_CREDENTIAL_STORE=auto|json|keyringfor explicit backend selectionFixes [Feature]: Store Credentials in System Keyrings with JSON Fallback #2639
Test plan
pnpm --filter ctx7 lint:check && format:check && typecheck && test && buildctx7 loginon macOS — verify Keychain entry created, plaintext file removedctx7 logout— verify Keychain entry clearedCTX7_CREDENTIAL_STORE=json ctx7 login— verify JSON fallback works