Пакет Single Sign-on від Blackbit, починаючи з версії 2, сумісний з інтерфейсом Pimcore Studio. Управління користувачами та вхід у систему залишаються там, де їм і належить бути: у центральному провайдерові автентифікації.
Компанії рідко здійснюють управління користувачами ізольовано. Microsoft Active Directory, корпоративна мережа SAML або центральний сервер LDAP є стандартом у розвинених ІТ-середовищах — і саме з них слід починати підключення Pimcore. Хоча Pimcore і пропонує власну функцію SSO на основі OpenID Connect, вона вимагає корпоративної підписки та не підтримує LDAP і SAML.
Пакет Blackbit SSO усуває цю прогалину: він підтримує всі три протоколи та доступний для інсталяцій Pimcore версії 10 і вище — незалежно від типу ліцензії. Ті, хто керує кількома групами користувачів із різними провайдерами, наприклад, внутрішньою командою через Active Directory та зовнішнім агентством через окремого провайдера OpenID, можуть використовувати обидві системи паралельно.
Новинкою є підтримка Studio UI, класичний інтерфейс також продовжує підтримуватися. Набір функцій в обох інтерфейсах однаковий. Пакет протестовано для Pimcore 10 і новіших версій, для старіших версій — ні. Studio UI доступний починаючи з Pimcore 12.
Цей пакет забезпечує єдиний вхід (Single Sign-on) у бекенд Pimcore та на веб-сайти, побудовані на базі Pimcore. Дані для входу та призначення ролей зберігаються у зовнішнього постачальника послуг автентифікації, а не в Pimcore. Це має практичні наслідки. Облікові записи Pimcore більше не потрібно створювати вручну. Якщо хтось залишає компанію, адміністрація блокує всі логіни в одному місці. А користувачі запам’ятовують лише один пароль замість багатьох.
Цей пакет підтримує OpenID Connect, SAML та LDAP. За допомогою OpenID Connect можна підключити, зокрема, Microsoft Entra ID (раніше — Azure Active Directory), Auth0, Google, Okta та Keycloak. Пакет містить докладну інструкцію щодо налаштування додатка у провайдера та введення необхідних ключів у Pimcore.
Можливе паралельне використання декількох провайдерів. Це корисно, коли внутрішні команди використовують іншого провайдера, ніж, наприклад, зовнішнє агентство. Для провайдерів з OpenID Connect або SAML на сторінці входу з’являється окрема кнопка. LDAP, навпаки, використовує звичайну форму входу та перевіряє введені дані доступу на LDAP-сервері.
Натискання кнопки SSO перенаправляє до постачальника послуг автентифікації. Після входу туди ви повертаєтеся до Pimcore, вже авторизовані. У фоновому режимі створюється звичайний користувач Pimcore з даними провайдера, наприклад, ім’ям користувача та адресою електронної пошти. Усі функції Pimcore працюють із цим обліковим записом так само, як і з обліковим записом, створеним вручну.
Один із провайдерів можна встановити як стандартний. Тоді при завантаженні бекенду Pimcore відбуватиметься перенаправлення безпосередньо на сторінку входу цього провайдера.
Поля постачальника можна зіставити з обліковим записом користувача Pimcore. Таким чином, наприклад, адреса електронної пошти залишається актуальною. Групи з системи автентифікації за бажанням призначаються як ролі Pimcore. Якщо роль ще не існує, пакет створює її, спочатку без прав доступу.
Крім того, для кожного постачальника передбачені стандартні ролі. Вони застосовуються лише до новостворених користувачів, а не до існуючих облікових записів.
Після кожного успішного входу в систему пакет запускає подію sso.logged-in. Вона надає користувача Pimcore, усі дані про постачальника та назву використовуваного провайдера. Тут можна підключити власну логіку.
Для веб-сайтів доступні кнопки входу у вигляді коду Twig. Виведення даних можливе у форматі HTML або JSON, шаблон можна перезаписати. Після входу модуль перенаправляє на довільний URL-адресу або повертає на сторінку, з якої було здійснено перехід. Перевірку входу та вихід із системи у власному контролері здійснює вбудований трейт.
При переході з версії 1 головне — це налаштування. У Studio UI воно знаходиться в розділі Settings > System > Users & Roles > Single Sign-on. Щоб вхід через Studio UI працював, у файлі config/packages/security.yaml потрібно додатково додати правило доступу. Усі кроки описано в інструкції з налаштування Studio UI на GitHub.
Клієнти з активним доступом до Bitbucket можуть безпосередньо завантажити версію 2.
Пакет доступний у Pimcore Store, а також безпосередньо у нас у Blackbit Shop.
Якщо у вас є питання щодо налаштування або моделі ліцензування: help@blackbit.de