Для нашего клиента, крупной бельгийской компании с филиалами в США и Китае, мы предложили интегрировать их Azure Active Directory Redmine. Мы подумали: «Redmine имеет встроенную поддержку LDAP, так что это не должно быть проблемой». Каждый раз, когда вы говорите «это не должно быть проблемой», вы получаете удовольствие.
Ассоциация Azure Active Directory был относительно новым для нашего клиента в то время. Они только недавно синхронизировали своих пользователей с Azure Active Directory (AAD) с помощью ADConnect, поэтому решили использовать базу данных пользователей Azure для единого входа (SSO) в Redmine. Альтернативой было создание дубликата локальной базы данных пользователей Redmine, что казалось надуманным. Поскольку наш клиент знаком с технологиями Microsoft, первое, что пришло ему в голову, это LDAP.
Они предполагали, что активация LDAP в каталоге Azure — это всего лишь щелчок переключателя. Кто знал, что это не так. Чтобы LDAP работал в Azure, нашему клиенту необходимо было настроить дополнительную службу Azure Active Directory. Короче говоря, это оказалось слишком сложно и дорого.
В процессе наш клиент узнал, что Azure поддерживает oAuth и Saml, более новые протоколы для аутентификации пользователей. Эти протоколы, по-видимому, стоят за «кнопками входа», с которыми все знакомы: войдите в Google и войдите в Facebook.
К счастью, есть плагин под названием redmine_omniauth_azure это делает трюк. Мы без проблем установили его в свой Redmine. Все, что нужно было сделать нашему клиенту с точки зрения настроек, это следовать инструкциям на https://github.com/Gucin/redmine_omniauth_azure. Наш клиент также должен был зарегистрировать приложение в соответствии с инструкциями на https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app и добавьте URL-адрес перенаправления. URL-адрес перенаправления — это место, куда попадает пользователь после входа в Azure. В нашем случае это был базовый URL-адрес Redmine https://client.redmine-x.com.
В плагине Redmine нам нужно было настроить следующие поля, которые мы получили от нашего клиента.
ID клиента:
Секрет клиента:
Идентификатор арендатора:
Чтобы завершить настройку, нам нужно было проверить аутентификацию. Вот почему мы запросили тестового пользователя в каталоге Azure. При первом входе нам нужно было добавить проверку MFA (многофакторная аутентификация) в тестовую учетную запись, поэтому мы использовали https://www.office.com для первоначального входа в систему.
После этого мы все еще получали ошибку после входа в систему с помощью Azure Active Directory. Решение проблемы заняло у нас значительное количество времени и мы будем рады помочь Вам в процессе интеграции.
Итак, поток такой:
- Пользователи нажимают кнопку «Войти через Azure».
- Затем они перенаправляются в Azure, где они входят в систему, используя свои учетные данные Azure.
- Они перенаправляются обратно в Redmine и автоматически входят в систему.
- Если Redmine настроен правильно, все пользователи получат сообщение «Ваша учетная запись создана и ожидает одобрения администратора».
Беспрепятственная интеграция Azure в Redmine с Майклом из RedmineX
Форма обратной связиПредупреждение: если пользователь попытается войти еще раз, он получит внутреннюю ошибку, поскольку Redmine не может отображать сообщение об ошибке, ориентированное на человека. Мы знаю, как это решить и будет рад помочь вам.
Несколько заключительных замечаний:
- Все было настроено для определенного URL-адреса Redmine. Если вам нужно будет изменить URL-адрес в будущем, вам нужно будет протестировать это и изменить все URL-адреса в Azure.
- Вам необходимо настроить уведомления. Обе настройки есть в Redmine.
https://client.redmine-x.com/settings?tab=notifications
и на сервере в файле Configuration.yml в /config. Адреса электронной почты должны совпадать.
Таков был наш опыт работы с Azure. Если вам нужно что-то подобное, мы готовы вам помочь.
Хотите получить НОВЫЙ опыт работы с Redmine и повысить свою производительность?
Получите БЕСПЛАТНУЮ демо-версиюПоделитесь этим, если вам понравилось!
Взгляните на наш Youtube Channel.