Единый вход (SSO) в Magento 2 с помощью Keycloak | Единый вход в Magento с использованием учетных данных Keycloak
Обзор
Ключевой плащ Magento SSO Наше расширение обеспечивает безопасный и бесперебойный вход в вашу систему Magento, используя Keycloak в качестве поставщика OAuth и OpenID Connect. Благодаря единому входу в Magento через Keycloak пользователи могут получить доступ к магазину, используя свои учетные данные Keycloak. Это означает, что с помощью нашего расширения пользователи вашего Keycloak могут войти в ваш магазин Magento 2, используя свои учетные данные Keycloak.
Наши
Вход в Magento 2 Keycloak Расширение обеспечивает безопасную интеграцию единого входа (SSO) с расширенными функциями, такими как сопоставление атрибутов, сопоставление ролей и контроль доступа. Оно повышает безопасность сайта, гарантируя, что только проверенные пользователи могут войти в систему или зарегистрироваться на вашем сайте Magento. Благодаря простому процессу настройки Magento Keycloak SSO, расширение упрощает аутентификацию пользователей и улучшает общее управление доступом. Следуйте приведенному ниже руководству, чтобы легко установить и настроить Keycloak Magento SSO.
Открыть Чтобы узнать больше о дополнительных возможностях расширения Magento OAuth Single Sign-On (OAuth & OpenID Connect Client), перейдите по ссылке.
Процедура установки
- Использование Композитора
- Ручная установка
Предварительные условия: загрузка и установка
- Прежде всего, Скачать Keycloak и установить его.
- Запустите сервер keycloak на основе вашей версии keycloak. (См. таблицу ниже)
| Для Keycloak версии 16 и ниже |
Перейдите в корневой каталог keycloak. бункер standalone.sh |
| Для Keycloak версии 17 и выше |
Перейдите в корневой каталог keycloak. бункер kc.bat и выполните следующие команды.
|
Шаги настройки
1. Настройте расширение miniOrange SSO.
- В расширении miniOrange Magento SSO перейдите на вкладку «Приложение» и выберите... OAuth/Openidи нажмите на Плащ Приложение.
- Скопируйте URL обратного вызова из расширения. Оно вам понадобится для Плащ конфигурации.
2. Настройка Keycloak в качестве поставщика OAuth для входа в систему Magento Keycloak SSO.
Выберите версию Keycloak:
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Добавить область опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создайте Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и Сохранено.
- Изменить тип доступа: После создания клиента измените его тип доступа на конфиденциальный.
- Введите допустимые URI перенаправления: Скопируйте URL-адрес обратного вызова из расширения Magento Keycloak SSO, а затем нажмите на него.
СОХРАНИТЬ. Бывший -- https://
/oauth/обратный вызов - Получить секрет клиента: Теперь нам нужно получить секрет клиента. Выберите Наши клиенты и выберите учетные данные и скопируйте свой секрет отсюда.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите Имя клиента в поле «Идентификатор клиента».
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и выбрать Добавить нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначьте пользователю желаемую роль из доступных ролей и нажмите на добавить выбранное.
- Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения пользователей, которым будет разрешен доступ к приложению. Нажмите на роли и выберите Добавить Роли.
- Создать группы: Нажмите на Группы , а затем выбрать Новое чтобы создать новую группу.
- Назначить пользователя в группу: Выберите пользователя, которого хотите добавить в группу. Выберите опцию «Группы» на вкладке, затем выберите название группы и нажмите кнопку присоединиться.
- Групповой картограф Keycloak: Теперь, чтобы получить информацию о группе, нам нужно выполнить сопоставление клиента с членством в группе, иначе информация о группе не будет получена. Клиентский раздел, выберите своего клиента и нажмите на картограф->создать.
- Теперь выберите тип картографа as Членство в группах и введите имя и имя токена т.е. имя атрибута, соответствующего группам, которые будут извлечены. Отключите параметры «Полный путь к группе», «Добавить к токену идентификатора» и «Добавить к токену доступа» и нажмите Сохранено.
- Сопоставитель ролей Keycloak: Теперь, чтобы получить информацию о роли, нам нужно выполнить сопоставление клиента с членством в роли, иначе информация о роли не будет получена. Клиентский раздел, выберите своего клиента и нажмите на картограф->создать.
- Теперь выберите тип картографа as роль области пользователя Членство и вход в имя. и имя заявки на токен т.е. имя атрибута, соответствующего группам, которые будут извлечены. Выберите «Добавить в идентификатор токена» и «Добавить в доступный токен» и нажмите Сохранено.
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Создать Царство опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создать клиента Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и нажмите Следующая.
- Включите Аутентификация клиента и Авторизация переключения.
- Прокрутите вниз до Настройки доступа и введите свой URL обратного вызова/перенаправления который вы получите через расширение Magento Keycloak SSO, расположенное в разделе URL-адреса обратного вызова текстовое поле.
- Перейдите на сайт Полномочия вкладку, скопируйте Секрет клиента И держите его под рукой, так как он понадобится нам позже при настройке расширения Magento Keycloak SSO.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите идентификатор клиента под идентификатор клиента поле.
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и нажмите на Создать нового пользователя для добавления нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначить пользователю желаемую роль из доступных.
- Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения пользователей, которым будет разрешен доступ к приложению. Нажмите на роли , а затем выбрать Создать роль.
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Создать Царство опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создать клиента Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и нажмите Следующая.
- Включите Аутентификация клиента и Авторизация переключения.
- Прокрутите вниз до Настройки доступа и введите свой URL обратного вызова/перенаправления который вы получите из расширения Magento Keycloak SSO. URL-адреса обратного вызова текстовое поле.
- Перейдите на сайт Полномочия вкладку, скопируйте Секрет клиента И держите его под рукой, так как он понадобится нам позже при настройке расширения Magento Keycloak SSO.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите идентификатор клиента под идентификатор клиента поле.
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и нажмите на Создать нового пользователя для добавления нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначить пользователю желаемую роль из доступных.
- Теперь введите Имя поставщика OAuth, идентификатор клиента, Секрет клиента, Объем и предоставили конечные точки.
- Для настройки воспользуйтесь таблицей ниже. область действия и конечные точки для Keycloak версии 18 и выше в расширении.
- Для настройки воспользуйтесь таблицей ниже. Область действия и конечные точки для Keycloak версии 17 и ниже в расширении. .
- Нажмите на Сохранено чтобы сохранить настройки.
- Нажмите на Тестовая конфигурация .
- В таблице вы увидите все значения, возвращаемые вашим OAuth-провайдером в Magento. Если вы не видите значения для имени, фамилии, электронной почты или имени пользователя, внесите необходимые изменения в настройки вашего OAuth-провайдера, чтобы он возвращал эту информацию.
- Найдите приложение Keycloak и нажмите Редактировать в Меню действий.
- Нажмите на Конфигурация магазина из левое меню.
- В Конфигурация магазинаВыберите веб-сайт, на котором вы хотите активировать единый вход (SSO), и установите флажок «Включить единый вход для этого сайта».
- Отобразить кнопку единого входа на странице авторизации: Отображает кнопку единого входа (SSO) на странице авторизации клиента выбранного веб-сайта.
- Автоматическое создание пользователей: У вас есть возможность автоматически создавать учетные записи клиентов в процессе единого входа (SSO), если они еще не существуют. Включение соответствующего флажка активирует эту функцию.
- Функция автоматического перенаправления: Автоматически перенаправляет пользователей на страницу входа в систему OAuth Provider либо со страницы входа в Magento, либо с любой другой страницы веб-сайта.
- Перейдите на страницу авторизации клиента, и вы увидите кнопку SSO на вашем сайте. Нажмите на кнопку и протестируйте SSO.
- Вы успешно вошли в Magento.
- Включить единый вход для администраторов: Отображает кнопку единого входа (SSO) на странице входа в административную панель.
- Текст кнопки SSO администратора: Задает метку, отображаемую на кнопке единого входа (SSO) на странице входа в административную панель (например, «Вход через Keycloak»).
- Автоматическое создание пользователей-администраторов: Автоматически создает учетную запись администратора в Magento при первом входе пользователя через SSO.
- Автоматическое перенаправление из административной панели: Автоматически перенаправляет администраторов со страницы входа в систему OAuth Provider на страницу входа в систему администратора.
- URL бэкдора: URL-адрес-лазейка позволяет войти в панель администратора, используя стандартные учетные данные администратора, в случае блокировки доступа.
- Перейдите на страницу входа в административную панель, и вы увидите кнопку SSO. Нажмите на эту кнопку, чтобы активировать SSO в качестве администратора.
- После успешного входа в Magento в качестве администратора вы будете перенаправлены на панель управления Magento.
- Включить для клиентов: Эта опция позволяет активировать Headless SSO для клиентов.
-
URL для единого входа клиента: Этот URL-адрес используется для инициирования единого входа (SSO) для клиентов из приложений без графического интерфейса. Добавьте этот URL-адрес SSO в ваше приложение без графического интерфейса.
- Пример формата:
https://<your-magento-domain>/mosso/actions/SendSSORequest?relayState={Store_URL}/headless_store_url/{Headless_URL}&app_name=Keycloak AD - {Store_URL}: Введите URL-адрес вашего магазина Magento.
- {Headless_URL}: Введите URL-адрес вашего приложения без графического интерфейса, куда должен быть отправлен токен клиента.
- После успешного единого входа (SSO) токен клиента отправляется на URL-адрес без графического интерфейса.
Например:{Headless_URL}?customer_token=...
- Пример формата:
- Токен OAuth:Включите эту опцию, чтобы отправлять JWT-токен поставщика OAuth (Keycloak) вместе с токеном клиента.
- Срок действия клиентского токена: Вы можете установить время истечения срока действия клиентского токена (в минутах).
- Добавить URL-адреса внешнего интерфейса в белый список: Здесь вы можете добавить URL-адреса, которым разрешено получать токен клиента. Токен клиента будет отправлен только на те URL-адреса, которые указаны в этом списке.
- Включить для администраторов: Аналогично клиентам, эта опция активирует Headless SSO для администраторов.
- URL для единого входа в административную панель: Этот URL-адрес инициирует единый вход в административную панель из приложений без графического интерфейса.
- Срок действия административного токена: Установите время истечения срока действия (в минутах) для административного токена.
- Добавить URL-адреса внешнего интерфейса в белый список: Административные токены отправляются только на указанные здесь URL-адреса, включенные в белый список. Необходимо убедиться, что все URL-адреса, получающие административный токен, внесены в этот список.
- Перейдите на сайт Отображение атрибутов Раздел для настройки сопоставления атрибутов клиента.
- Включите Сопоставление атрибутов клиента и флажок Возможность Обновление атрибутов клиента.
- Вы увидите такие поля, как Эл. адрес, Имя и Фамилия в разделе «Сопоставление атрибутов клиента».
- Сопоставьте эти поля, выбрав соответствующие параметры из выпадающего списка.
- Если вам нужно добавить дополнительные атрибуты, нажмите на кнопку. + Добавить атрибуты клиента нажмите кнопку и выберите соответствующий атрибут из падать.
- В Атрибут клиента В разделе включите сопоставление атрибутов адреса и выберите флажок обновить Атрибуты адреса клиента.
- Вы увидите такие поля, как... Адрес / улица, Почтовый Индекс, Город, Областьи другие в соответствии с Сопоставление адресов клиентов.
- Сопоставьте эти поля, выбрав соответствующие параметры из выпадающего списка.
- Если вам необходимо добавить дополнительные атрибуты адреса, нажмите на кнопку. + Добавить атрибуты адреса Нажмите кнопку и выберите соответствующий атрибут из выпадающего списка.
- В Сопоставление атрибутов администратора раздел, включить Сопоставление атрибутов администратора И выберите флажок обновлять Административный атрибут.
- Вы увидите такие поля, как Эл. адрес, Имя пользователя Имя и Фамилия в разделе «Сопоставление атрибутов администратора».
- Сопоставьте эти поля, выбрав соответствующие параметры из выпадающего списка.
- Если вам нужно добавить дополнительные атрибуты, нажмите на кнопку. + Добавить атрибуты администратора нажмите кнопку и выберите соответствующий атрибут из падать.
- Magento использует концепцию ролей, предназначенную для того, чтобы владелец сайта мог контролировать, что пользователи могут и не могут делать на сайте. Сопоставление ролей помогает назначать определенные роли пользователям определенной группы в вашем OAuth-провайдере.
- Выберите из выпадающего списка атрибут в вашем поставщике идентификации, содержащий информацию о группах/ролях как для администраторов, так и для клиентов.
- В настройках сопоставления групп клиентов администратор магазина может определить, какой группе клиентов Magento следует назначить группу на основе информации о группах, полученной от поставщика идентификационных данных (IdP) во время единого входа (SSO).
- Установите флажок «Обновлять группу пользователей на внешнем интерфейсе при SSO», если вы хотите, чтобы Magento обновляла группу пользователей каждый раз, когда пользователь входит в систему через SSO.
- Используйте раскрывающийся список «Группа по умолчанию», чтобы выбрать группы Magento, которые должны быть назначены пользователю, если поставщик идентификации не возвращает информацию о группе или если полученная группа не соответствует ни одному из настроенных сопоставлений.
- Введите значения групп поставщиков идентификации для соответствующих групп клиентов Magento по мере необходимости.
- Пользователям, принадлежащим к определенной группе в системе управления идентификацией, во время единого входа (SSO) будет автоматически назначена соответствующая группа Magento.
- Пример: Если значение группы из поставщика идентификации сопоставлено с общей группой в Magento, то любому пользователю, имеющему эту группу в поставщике идентификации, при едином входе в систему будет назначена общая группа клиентов.
- Установите флажок «Обновлять роли администратора при SSO», если вы хотите, чтобы Magento обновляла роли администратора каждый раз, когда пользователь входит в систему через SSO.
- Используйте раскрывающийся список «Группа по умолчанию», чтобы выбрать роль Magento, которая должна быть назначена пользователю, если поставщик идентификации не возвращает информацию о группе или если полученная группа не соответствует ни одному из настроенных сопоставлений.
- Введите значения групп поставщиков идентификации для соответствующих ролей администратора Magento по мере необходимости.
- Пользователям, принадлежащим к определенной группе в системе управления идентификацией, во время единого входа (SSO) будет автоматически назначена соответствующая группа Magento.
- Пример: Если значение группы из поставщика идентификации сопоставлено с общей группой в Magento, то любому пользователю, входящему в эту группу в поставщике идентификации, при едином входе в систему будут назначены роли администратора.
- Решения по обеспечению безопасности Magento
- Что такое единый вход (SSO)?
- Документация Okta для разработчиков по OAuth 2.0 и OpenID Connect
- Плагин единого входа (SSO) Magento OAuth.
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
Шаг 1.1: Действия по извлечению групп Keycloak [Премиум]
Примечание: -- Если указан полный путь к группе, будет извлечен путь, в противном случае будет извлечено имя группы.
Шаг 1.2: Действия по получению ролей Keycloak [Премиум]
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
В заключение, благодаря успешной настройке Keycloak как поставщик OAuthВы включили функцию единого входа и авторизации Magento Keycloak для ваших конечных пользователей в Magento.
3. Настройте Magento в качестве клиента OAuth.
| Объем: | email profile openid |
| Авторизовать конечную точку: | /realms/{realm-name}/protocol/openid-connect/auth |
| Конечная точка токена доступа: | /realms/{realm-name}/protocol/openid-connect/token |
| Конечная точка для получения информации о пользователе: | /realms/{realm-name}/protocol/openid-connect/userinfo |
| Пользовательский URL-адрес перенаправления после выхода из системы:[по желанию] | https://{домен Keycloak}/миры/{realm-name}/protocol/openid-connect/logout?post_logout_redirect_uri={RedirectUri}&id_token_hint=##id_token## |
| Объем: | email profile openid |
| Авторизовать конечную точку: | /auth/realms/{realm-name}/protocol/openid-connect/auth |
| Конечная точка токена доступа: | /auth/realms/{realm-name}/protocol/openid-connect/token |
| Конечная точка для получения информации о пользователе: | /auth/realms/{realm-name}/protocol/openid-connect/userinfo |
| Пользовательский URL-адрес перенаправления после выхода из системы:[по желанию] | /auth/realms/{realm-name}/protocol/openid-connect/logout?redirect_uri=RedirectUri |
Примечание: В корпоративной версии расширения можно настроить несколько поставщиков услуг. Чтобы настроить другого поставщика, нажмите кнопку «Добавить поставщика» и укажите необходимого. Руководства по настройке всех поставщиков можно найти здесь. здесь.
4. Настройки мультисайтовой конфигурации (*Доступно в корпоративных версиях)
Настройки входа
5. Административный SSO
6. Настройки единого входа без графического интерфейса (*Доступно в премиум-версиях)
7. Атрибуты / Пользовательское сопоставление (необязательно). *Это функция премиум-класса.
Сопоставление атрибутов клиента

Сопоставление адресов клиентов
Сопоставление атрибутов администратора
8. Сопоставление групп/ролей (необязательно). *Это функция премиум-класса.
Сопоставление групп клиентов
Сопоставление ролей администратора
Дополнительные ресурсы
Контакт
Пожалуйста, свяжитесь с нами по адресу magentosupport@xecurify.comНаша команда поможет вам настроить расширение Magento 2 SSO (OAuth/OIDC). Мы поможем вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.
