получить пароль для ключей с пустым именем пользователя - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть windows учетные данные в диспетчере учетных данных с пустым именем пользователя. Похоже, что пакет keyring не может их прочитать:

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

Выполнение тех же команд с именем пользователя работает нормально. Я могу просмотреть созданные учетные данные в windows утилите диспетчера учетных данных. Это здесь. Я просто не могу прочитать это через библиотеку keyring. Есть ли обходной путь для этого или я делаю что-то не так (кроме наличия кредитов без имени пользователя)? Спасибо

1 Ответ

1 голос
/ 28 апреля 2020

Я могу использовать ваш код "как есть" и по-прежнему получать информацию:

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

Однако это не единственный способ "получить" учетные данные. Используя метод keyring.get_credential, мы можем получить имя пользователя и пароль в одной команде:

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

Вы должны указать username в вызове, но вы можете просто передать ему None, и он получит первый, который ему соответствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...