Аутентификация внешнего API с дополнения Jira

Не обязательно лучше, но так как хорошо иметь варианты, вот как это сделать, используя заявления Jinja :

- debug:
    msg: "{% for address in network.addresses.private_man %}\
        {% if address.type == 'fixed' %}\
          {{ address.addr }}\
        {% endif %}\
      {% endfor %}"

Или, если вы предпочитаете ставить все на одном line:

- debug:
    msg: "{% for address in network.addresses.private_man if address.type == 'fixed' %}{{ address.addr }}{% endfor %}"

Возврат:

ok: [localhost] => {
    "msg": "172.16.1.100"
}

0
задан ktal90 13 July 2018 в 22:45
поделиться

1 ответ

Когда вы создаете надстройку облака, вы можете обрабатывать аутентификацию, не беспокоя администраторов (им не нужно ничего копировать). Чтобы интегрироваться с пользовательским интерфейсом Jira, вам нужно создать веб-панель или страницу, в обоих случаях Jira попросит ваш сайт отобразить HTML-код, и запрос будет включать в себя токен JWT . Внутри у вас будет информация о том, какой пользователь выполнил запрос.

Теперь вы можете аутентифицировать пользователей Jira в своем API несколькими способами:

  • отображать ограниченный по времени токен HTML и использовать его для аутентификации вызовов в ваш API. В качестве недостатка этого решения, если кто-то будет держать страницу открытой без перезагрузки достаточно долго (дольше, чем ваш лимит времени), токен станет недействительным.
  • предоставляет ресурс для получения ограниченного по времени токена (validate JWT-подпись, предоставленная Jira, чтобы убедиться, что действительно запрос получен из конкретного экземпляра Jira) и извлекать токен каждый раз перед выполнением запроса (или каждые N минут в зависимости от вашего ограничения времени).
  • или если вы действительно хотите чтобы беспокоить администраторов, затем создайте страницу конфигурации и дайте им возможность вручную сохранить ключи API (я полагаю, им придется как-то извлечь эти ключи от вас, этот дополнительный шаг может отбить у многих администраторов), на этой странице конфигурации вы будете включать JS-код, который на submit сохранит ключи API в качестве свойства Application , и позже вам нужно будет получить это, прежде чем делать запросы к вашему API. Однако при таком подходе администраторы не смогут ограничить доступ к вашему API подмножеством пользователей с разрешениями Jira (каждый зарегистрированный пользователь может получить доступ к свойствам приложения, в открытых экземплярах, даже анонимным пользователям).

Если вы не знаете, как проверить JWT-токен, вы можете прочитать это руководство разработчика. Кроме того, вы можете сделать вашу жизнь проще, используя одну из предоставленных рамок и инструментов , например, atlassian-connect-spring-boot позаботится об установлении рукопожатия, аутентификации JWT и аутентификации в Jira REST API с вашего сервера.

1
ответ дан enterbios 17 August 2018 в 12:06
поделиться
  • 1
    Благодаря! Для тех, кто это проверяет, я решил использовать схему atlassian-connect-express, чтобы облегчить это. – ktal90 29 July 2018 в 22:44
Другие вопросы по тегам:

Похожие вопросы: