За нашия клиент, значителна белгийска компания с клонове в САЩ и Китай, ние предложихме да интегрираме техните 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 трябваше да настроим следните полета, които получихме от нашия клиент.
Идент. № на клиента:
Клиентска тайна:
Идент. № на наемателя:
За да завършим настройката, трябваше да можем да тестваме удостоверяването. Ето защо поискахме тестов потребител в директорията на Azure. Когато влизахме за първи път, трябваше да добавим проверка на MFA (многофакторно удостоверяване) към тестовия акаунт, така че използвахме https://www.office.com за първоначално влизане.
След това все още получаваме грешка след влизане с помощта на Azure Active Directory. Решаването на проблема ни отне значително време и ще се радваме да ви помогнем по време на процеса на интегриране.
Значи потокът е:
- Потребителите щракват върху бутона „Вход чрез Azure“.
- След това те се пренасочват към Azure, където влизат, използвайки своите идентификационни данни в Azure
- Те се пренасочват обратно към Redmine и автоматично влизат
- Ако Redmine е настроен правилно, всички потребители ще получат съобщение „Вашият акаунт е създаден и сега очаква одобрение от администратор“.
Интегрирайте плавно Azure в Redmine с Michael от RedmineX
Свържете се с наспредупреждение: ако потребителят се опита да влезе отново, той ще получи вътрешна грешка, тъй като Redmine не може да покаже ориентирано към човека съобщение за грешка. Ние знаете как да разрешите това и ще бъде радвам се да ти помогна.
Няколко последни забележки:
- Всичко беше зададено за конкретен URL адрес на Redmine. Ако трябва да промените URL адреса в бъдеще, ще трябва да тествате това и да промените всички URL адреси в Azure
- Трябва да настроите известия. И двете настройки са в Redmine
https://client.redmine-x.com/settings?tab=notifications
и на сървъра във файла configuration.yml в /config. Имейл адресите трябва да съвпадат.
Така че това беше нашето изживяване с Azure. Ако имате нужда от нещо подобно, ние сме готови да ви помогнем.
Искате ли НОВО изживяване в Redmine и повишаване на производителността си?
Вземете БЕЗПЛАТНА демонстрацияСподелете това, ако ви е харесало!
Обърнете внимание на нашата Youtube канал.