четверг, 30 мая 2019 г.

JIRA: Авторизация OAuth 2.0 через Google Apps

В этой статье я расскажу детально, как подключить и успешно использовать авторизацию Google вашего домена в JIRA. 
Данное решение требуется по разным причинам в организациях. Возможно вы используете Google Apps как провайдера почты, для вашего домена. Возможно, переезжаете с Cloud версии, где вы использовали авторизацию Google аккаунта или по другим причинам. 
Для данного решения я тестировал два плагина, и дабы не наступать на мои ошибки - сообщу о том, что Kantega SSO, SAML / Kerberos for Jira (версии 3.5.9 для JIRA 8.1.0) оказался нерабочим (warning) Как будут с этим аддоном обстоять дела далее - нужно тестировать. 
Настройка этого аддона достаточно муторная, с точки зрения кол-ва требуемых шагов, сам аддон достаточно дорогой ,а простейшую задачу решить не мог. Для справки: по завершению получения всех требуемых данных - последним шагом является загрузка JSON файла и сохранения конфигурации. Но при попытке сохранения данных JIRA выпадет в ошибку, т.к. метод пытается найти GROUP в JSON а его там нет. Поэтому - плагин в топку. 
Для решения нашей задачи, нам потребуется: 
  • Google Apps права администратора домена
  • JIRA Software (отдельно на JSD я не тестировал)
  • Купленный аддон OpenID Authentication for Jira 


После установки аддона, перейдя в его конфигурацию - можно найти детальные инструкции в текстовом виде о том, как реализовать механизм авторизации. Я же постараюсь это сделать более понятным и конечно с картинками (smile)
Конфигурация происходит в разделе User Management. Там появится новый пункт OpenID Authentication
Нажимаем Add Provider и переходим к основному шагу настроек
В выпадающем меню необходимо выбрать провайдера. В нашем случае - это Google Apps
Прописать любое удобное имя
В поле Allowed Domains указать доменные имена, с которых будет разрешен вход. В моем случае это shestov.info
Authentication prompt оставить login

Настройка Google Apps

Переходим в консоль Google Developer: https://console.developers.google.com/
Если у вас нет существующих проектов или просто хотите создать новый - выбираете New Project 
Дайте имя новому проекту и нажмите Create
Как только проект будет создан (прогресс бар в правом верхнем углу) - вам необходимо его выбрать (сделать активным) в своих проектах. 
Затем, вам необходимо Выбрать в левом меню APIs & Services → Dashboard









В новом проекте нет активных API, поэтому необходимо перейти в библиотеку API для активации Google+ Domains API
Можете найти его в списке или воспользоваться поиском
На странице описания - выбрать Enable
Далее нам необходимо выдать полномочия (Create credentials) Вновь переходим к APIs & Services и выбираем Credentials. Затем Create credentials на экране
И вы выпадающем меню - выбираем OAuth clien ID
В новом окне жмем Configure consent screen
Заполняем Application Name - MyJira
В поле Authorized domains - можете указать ваш домен, чтобы дополнительно себя обезопасить. (в моем случае это localhost который туда внести нельзя)
нажимаете Save
На следующем этапе выбрать Web Application. Дать имя JIRA (или другое)
В первом поле Authorized JavaScript origins - указать адрес расположения вашего приложения JIRA
А во второй строке - вам необходимо вернуться на страницу конфигурации аддона в JIRA и скопировать оттуда строку Callback URL. Она находится тут: 
Важно!!!

Когда вы заполняете строки с адресами - после введенных символов - нажимайте Enter. Таким образом - данные внесутся. Если просто нажать Save в окне - данные не будут сохранены. 

После заполнения всех полей - нажать Create
После этого у вас появится окно с необходимыми данными, которые вы должны скопировать и вставить на страницу конфигурации аддона в JIRA. 
После того, как все действия будут выполнены - у вас появится новый провайдер, который вы можете редактировать или просто отключать
А на странице входа - появится кнопка, которая позволит авторизоваться с помощью Google

Комментариев нет:

Отправить комментарий