-
Notifications
You must be signed in to change notification settings - Fork 103
Open
Description
Hi,
I've found an issue while retrieving credentials set in the Windows Credential Manager by another application (not using go-keyring).
Let's take this scenario, the main application sets a new credential to a specific service and username:
serviceName = service:nameusername = $YOUR_USERNAME
When trying to call keyring.Get("service:name","$YOUR_USERNAME"), the searched service name is created merging serviceName and username (searchedServiceName = service:name:$YOUR_USERNAME), this behaviour is implemented in the function credName.
This problem is the same also with keyring.Delete and keyring.Set.
Since changing this behavior would break every windows application using this library, I'd propose:
- add a "raw" counterpart to the public apis (
RawGet,RawSetandRawDelete) that skips this behaviour on Windows (on other systems this would be a proxy to the original calls) - expose a new public api that can set/toggle a raw mode on Windows, but this will create problems with concurrent goroutines (on other systems that would be a
NOOP)
I'm open to work on this as soon as a decision is taken.
Thanks 😄
ruilya, dpprdan and ossenthusiast
Metadata
Metadata
Assignees
Labels
No labels