Skip to content

feat(bw): support session provider credentials - #506

Merged
domenkozar merged 1 commit into
mainfrom
fix/bitwarden-session-credentials
Oct 26, 2026
Merged

domenkozar merged 1 commit into
mainfrom
fix/bitwarden-session-credentials

Conversation

@domenkozar

Copy link
Copy Markdown
Member

Bitwarden Password Manager currently requires an inherited BW_SESSION, even though SecretSpec can load other providers' credentials from another store. Add a session credential so an alias can retrieve it from keyring or another provider:

[providers]
bitwarden = { uri = "bw://", credentials = { session = "keyring" } }

The configured session takes precedence over BW_SESSION and is passed only to bw subprocesses, including status checks, reads, creates, and edits. Missing, empty, or invalid configured credentials fail without using the environment fallback. Existing environment-based authentication continues to work. Login and unlock remain managed by the user.

Register the credential, update the shared documentation catalog and provider guide with the 0.22 minimum version, and add a user-facing changelog entry. Tests cover credential precedence, byte preservation, mutation paths, and exclusion of the retrieved session from the application environment.

Fixes #505.

Validation:

  • 188 Bitwarden unit tests and 3 CLI integration tests.
  • Provider credential catalog and version compatibility checks.
  • Rust formatting, shell syntax, and diff checks.
  • Full documentation build and Clippy checked in the original workspace; Clippy reports existing warnings outside this change.

Implemented with Codex assistance.

@domenkozar
domenkozar merged commit e749708 into main Oct 26, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow SecretSpec to provide BW_SESSION rather than needing to read from environment

1 participant