Аутентификация Keycloak Single Sign-On (SSO) с помощью OAuth через WordPress
Обзор
Настройте единый вход (SSO) на своем веб-сайте WordPress с помощью Keycloak SSO, используя плагин OAuth & OpenID Connect Single Sign-On. Внедрение SSO для WordPress с помощью Keycloak позволяет пользователям входить на ваши веб-сайты и в приложения с помощью единого набора учетных данных, используя поставщик OAuth Keycloak SSO. Keycloak выступает в качестве поставщика OAuth, а WordPress — в качестве клиента OAuth. Keycloak SSO для WordPress обеспечивает бесперебойный вход в систему между WordPress и Keycloak, позволяя авторизоваться с помощью Keycloak SSO одним щелчком мыши. Плагин SSO для WordPress также предоставляет расширенные функции Keycloak SSO, такие как сопоставление атрибутов профиля пользователя, сопоставление ролей и предоставление доступа к сайту на основе доменов электронной почты организации. Вы также можете защитить весь свой сайт WordPress с помощью SSO. Плагин Keycloak OAuth SSO для WordPress обеспечивает безопасность процесса входа пользователя и улучшает аутентификацию пользователей с помощью Keycloak SSO в WordPress. Следуйте инструкциям в руководстве ниже, чтобы настроить SSO в WordPress, установив этот плагин.
Предварительные условия: загрузка и установка
- Войдите в свою учетную запись WordPress как администратор.
- Перейти на вордпресс Панель управления -> Плагины и нажмите на Добавить новый.
- Поиск для Единый вход (SSO) на основе OAuth плагин для WordPress и нажмите на установить сейчас.
- После установки нажмите на активировать.
- Прежде всего, Скачать Keycloak и установить его.
- Запустите сервер keycloak на основе вашей версии keycloak. (См. таблицу ниже)
| Для Keycloak версии 16 и ниже |
Перейдите в корневой каталог файла keycloak bin standalone.sh. |
| Для Keycloak версии 17 и выше |
Перейдите в корневой каталог keycloak. бункер kc.bat и выполните следующие команды.
|
Шаги настройки
Шаг 1: Настройте Keycloak как поставщик OAuth
Выполните следующие шаги, чтобы настроить Keycloak в качестве поставщика идентификации (IdP) для обеспечения единого входа Keycloak с WordPress.
Выберите версию Keycloak:
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Добавить область опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создайте Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и Сохранено.
- Изменить тип доступа: После создания клиента измените его тип доступа на конфиденциальный.
- Введите допустимые URI перенаправления: Скопируйте URL обратного вызова из плагина и нажмите
СОХРАНИТЬ. Бывший -- https://
/oauth/обратный вызов - Получить секрет клиента: Теперь нам нужно получить секрет клиента. Выберите Наши клиенты и выберите учетные данные и скопируйте свой секрет отсюда.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите Имя клиента в поле «Идентификатор клиента».
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и выбрать Добавить нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначьте пользователю желаемую роль из доступных ролей и нажмите на добавить выбранное.
- Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения пользователей, которым будет разрешен доступ к приложению. Нажмите на роли и выберите Добавить Роли.
- Создать группы: Нажмите на Группы , а затем выбрать Новое чтобы создать новую группу.
- Назначить пользователя в группу: Выберите пользователя, которого хотите добавить в группу. Выберите опцию «Группы» на вкладке, затем выберите название группы и нажмите кнопку присоединиться.
- Групповой картограф Keycloak: Теперь, чтобы получить информацию о группе, нам нужно выполнить сопоставление клиента с членством в группе, иначе информация о группе не будет получена. Клиентский раздел, выберите своего клиента и нажмите на картограф->создать.
- Теперь выберите тип картографа as Членство в группах и введите имя и имя токена т.е. имя атрибута, соответствующего группам, которые будут извлечены. Отключите параметры «Полный путь к группе», «Добавить к токену идентификатора» и «Добавить к токену доступа» и нажмите Сохранено.
- Сопоставитель ролей Keycloak: Теперь, чтобы получить информацию о роли, нам нужно выполнить сопоставление клиента с членством в роли, иначе информация о роли не будет получена. Клиентский раздел, выберите своего клиента и нажмите на картограф->создать.
- Теперь выберите тип картографа as роль области пользователя Членство и вход в имя. и имя заявки на токен т.е. имя атрибута, соответствующего группам, которые будут извлечены. Выберите «Добавить в идентификатор токена» и «Добавить в доступный токен» и нажмите Сохранено.
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Создать Царство опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создать клиента Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и нажмите Следующая.
- Включите Аутентификация клиента и Авторизация переключения.
- Прокрутите вниз до Настройки доступа и введите свой URL обратного вызова/перенаправления который вы получите из плагина miniOrange, расположенного на стороне клиента в разделе URL-адреса обратного вызова текстовое поле.
- Перейдите на сайт Полномочия вкладку, скопируйте Секрет клиента И держите его под рукой, так как он понадобится нам позже при настройке плагина OAuth Single Sign-On для WordPress.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите идентификатор клиента под идентификатор клиента поле.
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и нажмите на Создать нового пользователя для добавления нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначить пользователю желаемую роль из доступных.
- Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения пользователей, которым будет разрешен доступ к приложению. Нажмите на роли , а затем выбрать Создать роль.
- Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите в нужную область. Вы можете добавить новую область, выбрав Создать Царство опцию.
- Создать область: Enter Имя области и сохраните имя области под рукой, так как оно понадобится позже для настройки Область В плагине OAuth Client нажмите СОЗДАТЬ для добавления области.
- Создать клиент OpenID: Нажмите на Наши клиенты , а затем выбрать Создать клиента Чтобы создать нового клиента, введите идентификатор клиента и выберите протокол клиента. openeid-connect и нажмите Следующая.
- Включите Аутентификация клиента и Авторизация переключения.
- Прокрутите вниз до Настройки доступа и введите свой URL обратного вызова/перенаправления который вы получите из плагина miniOrange, расположенного на стороне клиента в разделе URL-адреса обратного вызова текстовое поле.
- Перейдите на сайт Полномочия вкладку, скопируйте Секрет клиента И держите его под рукой, так как он понадобится нам позже при настройке плагина OAuth Single Sign-On для WordPress.
- Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее Секрет клиента поле в плагине OAuth Client и введите идентификатор клиента под идентификатор клиента поле.
- Добавить пользователя: Нам нужно добавить пользователей в область, которые смогут получить доступ к её ресурсам. Нажмите на Пользователи и нажмите на Создать нового пользователя для добавления нового пользователя.
- Конфигурация пользователя: После создания пользователя над ним необходимо выполнить следующие действия.
- Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь. Сопоставление ролей и назначить пользователю желаемую роль из доступных.
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
Шаг 1.1: Шаги для получения групп Keycloak [Premium]
Примечание: -- Если указан полный путь к группе, будет извлечен путь, в противном случае будет извлечено имя группы.
Шаг 1.2: Шаги для получения ролей Keycloak [Премиум]
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
- 1) Установите пароль для него, поэтому нажмите на Полномочия и установите новый пароль для пользователя.
ПРИМЕЧАНИЕ: отключение временного пароля сделает пароль пользователя постоянным.
В заключение, успешно настроив Keycloak в качестве поставщика OAuth , вы включили вход через Keycloak SSO в WordPress и авторизацию конечных пользователей в WordPress.
Шаг 2: Настройка WordPress в качестве клиента OAuth.
- Бесплатно
- Премиум
Шаг 3: Сопоставление атрибутов пользователя
- Сопоставление атрибутов пользователя обязательно для обеспечения успешного входа пользователей в WordPress. Мы будем настраивать атрибуты профиля пользователя в WordPress, используя приведенные ниже параметры.
- Перейдите на Настроить OAuth вкладка. Прокрутите вниз и нажмите Конфигурация теста.
- В таблице вы увидите все значения, возвращаемые вашим OAuth-провайдером в WordPress. Если вы не видите значения для имени, фамилии, электронной почты или имени пользователя, внесите необходимые изменения в настройки вашего OAuth-провайдера, чтобы он возвращал эту информацию.
- После того, как вы увидите все значения в разделе «Конфигурация теста», перейдите в... Сопоставление атрибутов/ролей На вкладке вы увидите список атрибутов в выпадающих списках.
Поиск атрибутов пользователя:
Шаг 4: Сопоставление ролей [Премиум]
- Нажмите на «Конфигурация теста» и вы получите список имен атрибутов и значений атрибутов, отправленных вашим поставщиком OAuth.
- В окне «Конфигурация теста» сопоставьте имена атрибутов в разделе «Сопоставление атрибутов» плагина. Более подробная информация приведена на скриншоте.
- Включить сопоставление ролей: Для включения сопоставления ролей необходимо сопоставить атрибут «Имя группы». Выберите имя атрибута из списка атрибутов, который возвращает роли из вашего приложения-провайдера.
Например: Роли - Назначьте роль WordPress роли Provider: В зависимости от используемого вами приложения, вы можете назначить роль WordPress соответствующим ролям. Это может быть студент, преподаватель, администратор или любая другая роль, в зависимости от вашего приложения. Добавьте роли поставщиков в поле «Значение атрибута группы» и назначьте необходимую роль WordPress в поле «Роль WordPress».
НапримерНа изображении ниже учителю назначена роль Администратора, а ученику — роль Подписчика. - После сохранения сопоставления роль поставщика будет назначена на роль администратора WordPress после выполнения единого входа (SSO).
Пример: Согласно приведенному примеру, пользователи с ролью «учитель» будут добавлены в WordPress в качестве администраторов, а «студент» — в качестве подписчиков.
Шаг 5: Шаги для получения групп Keycloak
Создание групп в Keycloak:
Примечание: Если группы уже созданы и назначены клиентам, вы можете пропустить этап создания группы.
- В разделе «В вашем королевстве» перейдите к Группы и нажмите Создать группу .
- Введите название группы и нажмите на кнопку. Создавай .
- Теперь перейдите к созданной вами группе и нажмите на кнопку. Участники Вкладка. Нажать на Добавить участников кнопка для добавления участников.
- Добавьте в группу нужных вам участников и нажмите на кнопку. Добавить .
- Теперь перейдите к Клиентские области И выберите Профиль объем.
- Перейдите на сайт Картографы и нажмите Добавить картограф .
- Выбрать По конфигурации опцию.
- Выберите из таблицы соответствие членства в группе.
- Добавьте Имя и Название заявки на получение токена Для вашего картографа. Нажмите на Сохранено .
- Теперь перейдите к Единый вход OAuth плагин и нажмите на Тестовая конфигурация Кнопка. Вы должны увидеть группы, назначенные пользователю.
Шаг 6: Настройки входа
- WordPress 5.7 и ниже
- WordPress 5.8
- WordPress 5.9 и выше
Шаг 7: Область применения и конечные точки
- Для настройки воспользуйтесь таблицей ниже. область действия и конечные точки для Keycloak версии 18 и выше в плагине.
| Объем: | 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## |
- Для настройки воспользуйтесь таблицей ниже. область действия и конечные точки для Keycloak версии 17 и ниже в плагине.
| Объем: | 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 |
Вы успешно включили единый вход (SSO) в WordPress с помощью плагина OAuth & OpenID Connect Single Sign-On (SSO), настроив Keycloak в качестве поставщика идентификации (провайдера OAuth) и WordPress в качестве клиента OAuth. Авторизация Keycloak OAuth позволяет быстро обеспечить безопасный доступ к вашему сайту WordPress (WP), предоставляя пользователям возможность безопасной аутентификации с помощью учетных данных Keycloak SSO .
Часто задаваемые вопросы (FAQ)
Я не могу найти разделы «Домен» и «Область» в административном интерфейсе Keycloak.
Войдите в консоль администрирования Keycloak. Перейдите в раздел «Настройки Realm» -> «Общие», и вы увидите название Realm. Подробнее
Статьи по теме
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
