Repository navigation
Make sign out everywhere an explicit CLI action - #81
Merged
Merged
Conversation
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.
The CLI still described normal logout as account-wide and offered no way to select the backend’s explicit account-wide action. Normal
dataplicity auth logoutnow revokes only its captured sign-in.dataplicity auth logout --everywhereexplicitly uses/api/auth/logout/everywhere/and reports a failed command if account-wide revocation cannot be confirmed, while honestly reporting that local credentials were cleared.Both actions retain the existing pre-I/O atomic credential detachment, original credential snapshot, fixed recipient, access-to-captured-refresh fallback only after an explicit authentication rejection, and no renewal, cookies, redirects, ambient authentication or ambiguous retry. Organisation API keys are removed locally and cannot revoke a Core account. JSON output adds the requested scope; ordinary successful logout retains its existing detail.
Validation: 325 complete unit tests / 74 subtests passed, with the existing configured coverage at 100% of 1,585 statements (CLI entry point and remote_access exclusions remain unchanged). All 326 existing staging security contracts passed. Both actions use actual loopback HTTP tests for endpoint selection, captured refresh fallback, Set-Cookie exclusion and replacement-login survival. The private wheel builds, installs outside the checkout, matches the committed runtime files and passes six installed command checks. Final source e40b93d also passed the complete 325-test suite with CI-style terminal colour enabled. Full CI 42455753414 passed all ten jobs, including Python 3.11/3.12, Windows unit tests, three-platform command/transport checks, Windows MSI, macOS PKG and Linux package checks. The initial CI failure was limited to ANSI styling in the new help assertion; normalization preserves its command and scope assertions.
Private qualification branch only, targeting codex/native-pkce-login. No main, public package/feed, installer, Homebrew, store or production release. Paired staging sign-in/logout acceptance still requires the final combined backend.