Skip to content

fix(keychain): configure macOS credential access - #531

Merged
majd merged 2 commits into
mainfrom
bugfix/keychain_item_label
Aug 29, 2026
Merged

fix(keychain): configure macOS credential access#531
majd merged 2 commits into
mainfrom
bugfix/keychain_item_label

Conversation

@majd

@majd majd commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • pass the existing ipatool-auth.service name into the keychain wrapper
  • apply that value to keyring.Item.Label so macOS authorization prompts identify the credential
  • trust the executable that creates a new macOS Keychain item, avoiding repeated prompts for that same application identity
  • retain coverage for legacy unlabeled credentials without rewriting or recreating them

Compatibility

The Keychain service, account key, serialized credential payload, and backend order are unchanged. Existing authenticated users continue reading the same item, and existing ACLs are preserved because duplicate-item updates do not replace access control.

The trust setting applies only when creating a new macOS item. It trusts only the creating executable, not all applications. A different bundled path or signing identity may still prompt once and require Always Allow.

Validation

  • go generate ./...
  • go test ./pkg/keychain
  • go test ./...
  • go build ./...
  • git diff --check

Closes #517

@majd majd changed the title fix(keychain): label stored credentials on macOS fix(keychain): configure macOS credential access Aug 29, 2026
@majd
majd force-pushed the bugfix/keychain_item_label branch from 62f111d to eb55834 Compare August 29, 2026 13:11
@majd
majd merged commit acaf6c5 into main Aug 29, 2026
15 checks passed
@majd
majd deleted the bugfix/keychain_item_label branch August 29, 2026 13:15
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.

macOS Keychain access prompt shows empty item name ("stored in \"\"") and repeats on every process

1 participant