Jira python oauth: как получить параметры для аутентификации?
Я пытаюсь использовать oauth для доступа к jira, и я читаю этот документ: Добро пожаловать в документацию jira-python.
Но в этой части oauth я не могу понять, как я могу получить эти параметры:
access_token, access_token_secret, consumer_key, key_cert
Ответы
Ответ 1
Я тоже использую jira-python. Поскольку jira-python использует requests и requests-oauthlib Я использовал те же библиотеки для реализации танца OAuth 1, необходимого для получения жетонов.
Сначала настройте JIRA:
- Создайте пару общедоступных/закрытых ключей RSA (в итоге вы получите файлы
rsa.pub
и rsa.pem
). Вашему коду Python потребуется доступ к закрытому ключу rsa.pem
.
- Настройте приложение JIRA (сделанное в JIRA-админе в разделе "Связи приложений" ) с "Incoming Authentication" и используйте открытый ключ, сгенерированный выше. Здесь вы указываете
consumer_key
, необходимый jira-python
Далее, танец OAuth. Это довольно просто с OAuth1Session
от requests-oauthlib. Вот простой пример (CLI): JIRA Oauth на Python.
Рабочий процесс описан в requests-oauthlib docs: OAuth 1 Workflow.
Итак, суммируем:
- access_token - Получено в конце рабочего процесса OAuth 1.
- access_token_secret - Получено в конце рабочего процесса OAuth 1.
- consumer_key - указывается при настройке "Application Link" в администраторе JIRA.
- key_cert - содержимое файла
rsa.pem
(закрытый ключ). Открытый ключ также добавляется при настройке "Application Link" в администраторе JIRA.
Ответ 2
Сначала вам нужно добавить ссылку на приложение JIRA для вашего приложения: https://confluence.atlassian.com/display/JIRA060/Configuring+Application+Links
В случае, когда приложение, обращающееся к JIRA, не является веб-приложением, вы можете использовать произвольный URL-адрес в качестве URL-адреса приложения, но этот URL-адрес будет использоваться для извлечения значка приложения при его отображении в списке приложений в административном интерфейсе JIRA.
Тогда вам нужно будет сделать так называемый "oauth dance", чтобы получить токен OAuth и соответствующий ему секрет. Пожалуйста, ознакомьтесь с примерами Atlassian здесь: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples/src
Эти примеры в основном охватывают сам танец, в то время как аутентификация с использованием токена OAuth + secret (которая получена во время танца) документируется здесь: http://jira.readthedocs.io/en/latest/examples.html#oauth. Надеюсь, это поможет.
По крайней мере, это сработало для меня (также в Python для моего случая).:)
Ответ 3
К сожалению, другие ответы не работают с Python 3. Я обнаружил, что https://github.com/rkadam/jira-oauth-generator полностью охватывает Jira OAuth в Python 3.