Когда вы создаете надстройку облака, вы можете обрабатывать аутентификацию, не беспокоя администраторов (им не нужно ничего копировать). Чтобы интегрироваться с пользовательским интерфейсом 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 с вашего сервера.
задан mack 18 January 2019 в 18:52
поделиться