Извлечение учетных данных из 1Password с использованием библиотеки Python OnePasswordPython

Программы на Python
Anonymous
 Извлечение учетных данных из 1Password с использованием библиотеки Python OnePassword

Сообщение Anonymous »

Я использую эту библиотеку Python ("onepassword python client"), в которой можно взаимодействовать с моим экземпляром 1Password и извлекать учетные данные API из хранилища с именем "Сотрудник". < /p>
Функция Python:

Код: Выделить всё

def authenticate(base_endpoint, api_key, api_secret):
op = OnePassword()
available_vaults = op.list_vaults()
employee_vault = next((vault for vault in available_vaults if vault["name"] == "Employee"), None)
if not employee_vault:
print("No Employee vault found")
items = op.list_items(vault=employee_vault["id"])
addepar_item = next((item for item in items if item["title"] == "Addepar API"), None)
if not addepar_item:
print("Please check that Addepar API item exists in 1Password")
item_details = op.get_item(uuid=addepar_item["id"], fields=["username", "credential"])
if not item_details:
print("Please check that Addepar API item credentials exists in 1Password")
api_key = item_details["username"]
api_secret = item_details["credential"]
base_endpoint = "https://myfirm.addepar.com/api/v1/"
Эта функция работает безупречно на Mac, однако пользователи ПК получают следующую ошибку:
ошибка пользователя ПК: < /p>

Код: Выделить всё

C:\Users\User\PyCharmMiscProject\.venv\Scripts\python.exe C:\Users\User\PyCharmMiscProject\Main.py

⚠ Please enter an Entity ID: 123

Traceback (most recent call last):

File "C:\Users\User\PyCharmMiscProject\Main.py", line 180, in 

entity_attributes = get_entity_attributes(entity_id)

File "C:\Users\User\PyCharmMiscProject\Main.py", line 32, in get_entity_attributes

base_endpoint, api_key, api_secret = authenticate(base_endpoint="", api_key="", api_secret="")

~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\User\PyCharmMiscProject\Main.py", line 11, in authenticate

op = OnePassword()

File "C:\Users\User\PyCharmMiscProject\.venv\Lib\site-packages\onepassword.py", line 52, in __init__

raise MissingCredentials()

onepassword.MissingCredentials

Process finished with exit code 1
< /code>
 мои мысли: < /strong>
Я смог отслеживать ошибку обратно в библиотеку OnePassword, в частности, в следующем файле. Я думаю, что это как -то связано с bin_path 
, однако, как пользователь Mac, у меня возникают проблемы, решающие то, что происходит:

Код: Выделить всё

class OnePassword(object):

def __init__(self, secret=None, token=None, shorthand=None, bin_path=""):
self.op = os.path.join(bin_path, "op")
if secret is not None:
self.shorthand = str(uuid4())
self.session_token = self.get_access_token(secret, shorthand=self.shorthand)
elif token is not None and shorthand is not None:
self.shorthand = shorthand
self.session_token = token
else:
raise MissingCredentials()
Я был бы признателен за какое -либо руководство о том, что может быть неправильно настроено, это может вызвать эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-library

Вернуться в «Python»