Для нашого клієнта, значної бельгійської компанії з філіями в США та Китаї, ми запропонували інтегрувати їх 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 за допомогою Майкла з RedmineX
Написати повідомленняпопередження: якщо користувач спробує увійти знову, він отримає внутрішню помилку, оскільки Redmine не може відобразити повідомлення про помилку, орієнтоване на людину. ми знати, як це вирішити і буде радий допомогти вам.
Кілька останніх зауважень:
- Все було встановлено для конкретної URL-адреси Redmine. Якщо вам знадобиться змінити URL-адресу в майбутньому, вам потрібно буде перевірити це та змінити всі URL-адреси в Azure
- Потрібно налаштувати сповіщення. Обидва налаштування знаходяться в Redmine
https://client.redmine-x.com/settings?tab=notifications
і на сервері у файлі configuration.yml у /config. Адреси електронної пошти мають збігатися.
Отже, це був наш досвід Azure. Якщо вам щось подібне знадобиться, ми готові вам допомогти.
Хочете отримати новий досвід Redmine та підвищити свою продуктивність?
Отримайте БЕЗКОШТОВНУ демонстраціюПоділіться цим, якщо вам сподобалося!
Погляньте на наш Youtube Channel.