使用空白用户名获取密钥环密码

get keyring password with blank username

我在凭据管理器中已有 windows 个凭据,但用户名为空。 keyring 包似乎不能读取这些:

import keyring
keyring.set_password("test", "", "mypassword")
keyring.get_password("test", "")  # returns None

运行 使用用户名的相同命令工作正常。我可以在 windows 凭据管理器实用程序中查看创建的凭据。在那。我只是无法通过 keyring 图书馆阅读它。是否有任何解决方法或者我做错了什么(除了没有用户名的信用之外)?谢谢

我可以使用你的代码 "as is" 并且仍然检索信息:

>>> import keyring
>>> keyring.set_password("test", "", "mypassword")
>>> keyring.get_password("test", "")
'mypassword'

但是,这不是 "retrieve" 凭据的唯一方法。使用 keyring.get_credential 方法,我们可以在一条命令中同时获取用户名和密码:

>>> x = keyring.get_credential(service_name="test", username=None)
>>> x.username
''
>>> x.password
'mypassword'

您必须在调用中指定一个 username,但您可以将 None 传递给它,它会获取它匹配的第一个。