Как настроить единый вход SAML для авторизации в WordPress с использованием Shibboleth-3 в качестве поставщика идентификации SAML и WordPress в качестве поставщика услуг?
Обзор
Shibboleth Single Sign On для WordPress позволяет пользователям входить на ваш сайт WordPress, используя свои существующие учетные данные Shibboleth. В этом руководстве по настройке объясняется, как подключить Shibboleth-3 к WordPress с помощью плагина miniOrange SAML Single Sign-On (SSO) для WordPress, который поддерживает поставщиков идентификации, соответствующих стандарту SAML, и предоставляет удобные средства управления администрированием.
Вам потребуется настроить Shibboleth-3 в качестве поставщика идентификации SAML (SAML IDP), а WordPress — в качестве поставщика услуг (SP). После настройки пользователи будут авторизоваться через Shibboleth для WordPress с использованием протокола аутентификации вашей организации, а вы будете управлять доступом с помощью конфигурации SAML Shibboleth для WordPress и настроек плагина.
Вы можете посетить наш Единый вход для WordPress Чтобы узнать больше о других предоставляемых нами функциях, используйте этот плагин.
Предварительные условия: загрузка и установка
Для настройки Shibboleth-3 в качестве поставщика идентификации SAML для WordPress и включения авторизации в WordPress установите... miniOrange SAML SP SSO Плагин для WordPress.
Этапы настройки единого входа Shibboleth для WordPress
1. Настройте Shibboleth-3 в качестве поставщика идентификационных данных (IDP).
Для настройки Shibboleth-3 в качестве поставщика идентификационных данных выполните следующие шаги:
Настройте Shibboleth-3 в качестве поставщика идентификационных данных (IDP).
- В плагине miniOrange SAML SP SSO перейдите по следующему пути: Метаданные поставщика услуг Вкладка. Здесь вы можете найти метаданные поставщика услуг, такие как идентификатор сущности поставщика услуг и URL-адрес ACS (AssertionConsumerService), необходимые для настройки поставщика идентификации.
- В файле conf/idp.properties раскомментируйте строку и установите значение 'idp.encryption.optional' в true.
например, idp.encryption.optional = true
- In conf/metadata-providers.xml, настройте поставщика услуг следующим образом
<MetadataProvider xmlns:samlmd="urn:oasis:
names:tc:SAML:2.0:metadata"
id="miniOrangeInLineEntity" xsi:type="InlineMetadata
Provider"
sortKey="1">
<samlmd:EntityDescriptor ID="entity" entityID="<SP-EntityID /
Issuer
from Service Provider Info tab in plugin.>"
validUntil="2020-09-06T04:13:32Z">
<samlmd:SPSSODescriptor AuthnRequests
Signed="false"
WantAssertionsSigned="true"
protocolSupportEnumeration="urn:oasis:names:
tc:SAML:2.0:protocol">
<samlmd:NameIDFormat>
urn:oasis:names:tc:SAML:
1.1:nameid-format:emailAddress
</samlmd:NameIDFormat>
<samlmd:AssertionConsumerService
Binding="urn:oasis:names:tc:
SAML:2.0:bindings:HTTP-POST"
Location="<ACS (AssertionConsumerService) URL from
Step1 of
the plugin under Identity Provider Tab.>"
index="1" />
</samlmd:SPSSODescriptor>
</samlmd:EntityDescriptor>
</MetadataProvider>
- In conf/saml-nameid.properties, раскомментируйте и установите значение по умолчанию ИмяID as Ваш e-mail так
idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
- In conf/saml-nameid-xmlНайдите shibboleth.SAML2NameIDGenerators. Раскомментируйте bean-компонент shibboleth.SAML2AttributeSourcedGenerator и закомментируйте все остальные bean-компоненты.
<!-- SAML 2 NameID Generation -->
<util:list id="shibboleth.SAML2NameIDGenerators">
<!--<ref bean="shibboleth.SAML2TransientGenerator" /> -->
<!-->ref bean="shibboleth.SAML2PersistentGenerator" /> -->
<bean parent="shibboleth.SAML2AttributeSourcedGenerator"
p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
p:attributeSourceIds="#{ {'email'} }" />
</util:list>
- Убедитесь, что вы определили AttributeDefinition в conf/attribute-resolver.xml.
<!-- Note: AttributeDefinitionid must be same as what
you provided in
attributeSourceIds in conf/saml-nameid.xml -->
<resolver:AttributeDefinitionxsi:type="ad:Simple"
id="email"
sourceAttributeID="mail">
<resolver:Dependency ref="ldapConnector" />
<resolver:AttributeEncoderxsi:type="enc:SAML2String"
name="email"
friendlyName="email" />
</resolver:AttributeDefinition >
<resolver:DataConnector id="ldapConnector"
xsi:type="dc:LDAPDirectory"
ldapURL="%{idp.authn.LDAP.ldapURL}"
baseDN="%{idp.authn.LDAP.baseDN}"
principal="%{idp.authn.LDAP.bindDN}"
principalCredential="%{idp.authn.LDAP.bindDNCredential}">
<dc:FilterTemplate>
<!-- Define you User Search Filter here -->
<![CDATA[
(&(objectclass=*)
(cn=$requestContext.principalName)) ]]>
</dc:FilterTemplate>
<dc:ReturnAttributes>*</dc:ReturnAttributes>
</resolver:DataConnector>
- Убедитесь, что параметр AttributeFilterPolicy определен в conf/attribute-filter.xml.
<afp:AttributeFilterPolicy id="ldapAttributes">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Перезапустите сервер Shibboleth.
- Вам необходимо настроить эти конечные точки в плагине miniOrange SAML.
| Идентификатор объекта IDP |
https://<your_domain>/idp/shibboleth |
| URL-адрес единого входа |
https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
| Единый URL-адрес выхода из системы |
https://<your_domain>/idp/shibboleth |
| Сертификат Х.509 |
Сертификат открытого ключа вашего сервера Shibboleth-3 |
Вы успешно настроили Shibboleth-3 в качестве поставщика идентификации SAML (IdP) для обеспечения единого входа (SSO) через Shibboleth-3 на ваш сайт WordPress (WP).
Шаг 2: Настройте WordPress в качестве поставщика услуг (SP).
- Бесплатно
- Стандарт
- Премиум
В плагине SAML SSO для WordPress перейдите на вкладку «Конфигурация IDP». Существует два способа настройки плагина SSO для WordPress:
А. Загружая метаданные IDP:
- Нажмите на Загрузить метаданные IDP .
- Введите Поставщик удостоверений Имя
- Вы также можете загрузить файл метаданных и нажмите на Загрузите кнопку или используйте
URL метаданных и нажмите на Получить метаданные.
B.Ручная настройка:
- Укажите необходимые настройки (например, имя поставщика удостоверений, идентификатор сущности или издателя поставщика удостоверений, URL-адрес входа SAML, сертификат X.509), предоставленные вашим поставщиком удостоверений, и нажмите на кнопку. Сохранено
.
- Нажмите на Конфигурация теста проверить атрибуты и значения, отправленные поставщиком идентификации (IDP).
Шаг 3: Сопоставление атрибутов
- В бесплатном плагине только ИмяID Поддерживается для атрибутов Email и Username пользователя WordPress.
- При выполнении пользователем единого входа (SSO) значение NameID, отправленное поставщиком идентификации (IDP), сопоставляется с адресом электронной почты и именем пользователя WordPress.
В плагине SAML SSO для WordPress перейдите на вкладку «Настройка поставщика услуг». Существует два способа настройки плагина SSO для WordPress:
А. Загружая метаданные IDP:
- Нажмите на Загрузить метаданные IDP .
- Введите Поставщик удостоверений Имя
- Вы также можете загрузить файл метаданных и нажмите на Загрузите кнопку или используйте
URL метаданных и нажмите на Получить метаданные.
B.Ручная настройка:
- Укажите необходимые настройки (например, имя поставщика удостоверений, идентификатор сущности или издателя поставщика удостоверений, URL-адрес входа SAML, сертификат X.509), предоставленные вашим поставщиком удостоверений, и нажмите на кнопку. Сохранено
.
- Нажмите на Конфигурация теста проверить атрибуты и значения, отправленные поставщиком идентификации (IDP).
Шаг 3: Сопоставление атрибутов
- Отображение атрибутов Эта функция позволяет вам составить карту атрибуты пользователя отправляется системой IDP во время единого входа (SSO) в атрибуты пользователя в WordPress.
- В плагине SAML для WordPress перейдите по ссылке: Сопоставление атрибутов/ролей Заполните следующие поля, используя вкладку «Вкладка». Отображение атрибутов .
ПРИМЕЧАНИЕ: Если вы нажмете кнопку «Проверить конфигурацию» на вкладке «Настройка поставщика услуг» и пройдете аутентификацию у своего поставщика идентификации (IDP), вы увидите список атрибутов, отправленных IDP, на вкладке «Сопоставление атрибутов/ролей». Эта информация может быть использована для предоставления указанного выше сопоставления.
В плагине SAML SSO для WordPress перейдите на вкладку «Настройка поставщика услуг». Существует два способа настройки плагина SSO для WordPress:
А. Загружая метаданные IDP:
- Нажмите на Загрузить метаданные IDP .
- Введите Имя поставщика удостоверений
- Вы также можете загрузить файл метаданных и нажмите на Загрузите кнопку или используйте
URL метаданных и нажмите на Получить метаданные.
- В Премиум плагин, Вы можете включить автоматическую синхронизацию для URL метаданных Это позволит автоматически обновлять конфигурацию плагина в соответствии с метаданными IDP через заданный интервал времени.
B.Ручная настройка:
- Укажите необходимые настройки (например, имя поставщика идентификации, идентификатор сущности или издателя IDP, URL-адрес входа SAML, сертификат X.509), предоставленные вашим поставщиком идентификации. Поставщик удостоверений и нажмите на
Сохранено .
- Нажмите на Конфигурация теста проверить атрибуты и значения, отправленные поставщиком идентификации (IDP).
-
В премиум-плагине вы можете указать URL-адрес выхода из системы SAML, чтобы обеспечить единый выход из системы на вашем сайте WordPress.
Шаг 3: Сопоставление атрибутов
-
Отображение атрибутов Эта функция позволяет вам составить карту атрибуты пользователя отправляется системой IDP во время единого входа (SSO) в атрибуты пользователя в WordPress.
-
В плагине SAML для WordPress перейдите по ссылке: Сопоставление атрибутов/ролей Заполните следующие поля, используя вкладку «Вкладка». Отображение атрибутов .
-
Пользовательское сопоставление атрибутов: Эта функция позволяет сопоставить любой атрибут, отправленный поставщиком идентификации, с пользовательская мета Таблица WordPress.
Шаг 4: Сопоставление ролей
- В бесплатном плагине вы можете выбрать Роль по умолчанию которая будет присвоена всем пользователям, не являющимся администраторами, при выполнении единого входа (SSO).
- Перейдите на Сопоставление атрибутов/ролей вкладка и перейдите к Сопоставление ролей .
- Выберите Роль по умолчанию и нажмите на Обновление ПО .
Шаг 4: Сопоставление ролей
В стандартном плагине можно выбрать роль по умолчанию, которая будет назначена всем пользователям, не являющимся администраторами, при выполнении единого входа (SSO).
- Перейдите на Сопоставление атрибутов/ролей вкладка и перейдите к Сопоставление ролей .
- Выберите Роль по умолчанию и нажмите на Сохранено .
Шаг 4: Сопоставление ролей
Эта функция позволяет назначать и управлять ролями пользователей при использовании единого входа (SSO). Помимо стандартных ролей WordPress, она совместима и с любыми пользовательскими ролями.
- Из издания Отображение атрибутов в разделе плагина укажите сопоставление для поля с именем
Группа/РольЭтот атрибут будет содержать информацию о ролях, отправленную поставщиком идентификации (IDP), и будет использоваться для сопоставления ролей.
- Перейдите в раздел сопоставления ролей и укажите соответствия для выделенных ролей.
-
Например, если вам нужен пользователь, у которого Группа/Роль Значение атрибута wp-editor указывается для назначения его в качестве редактора в WordPress; просто укажите сопоставление как wp-editor в файле конфигурации. редактор
поле раздела «Сопоставление ролей».
Шаг 5: Настройки единого входа (SSO)
- В бесплатном плагине можно добавить кнопку единого входа, включив соответствующую функцию. Добавьте кнопку единого входа на страницу входа в WordPress. включить Вариант 1.
- Если ваша тема WordPress поддерживает виджет авторизации, вы можете добавить его, чтобы включить единый вход (SSO), инициируемый поставщиком услуг (SP-Initiated SSO), на вашем сайте.
- Перейдите во вкладку «Перенаправления и ссылки SSO» и выполните следующие действия: Вариант 2: Использование виджета Чтобы добавить виджет авторизации на свой сайт.
Шаг 5: Настройки единого входа (SSO)
В плагине Standard можно включить инициируемый поставщиком услуг единый вход (SSO) с помощью следующих параметров.
- Автоматическое перенаправление с сайта: Если эта опция включена, любой неаутентифицированный пользователь, пытающийся получить доступ к вашему сайту, будет перенаправлен на страницу входа в систему IDP, а после успешной аутентификации — обратно на ту же страницу вашего сайта, к которой он пытался получить доступ.
Шаги:
- Перейдите во вкладку «Перенаправления и ссылки SSO» плагина и перейдите по ссылке... Вариант 1: Автоматическое перенаправление с сайта.
- Включите Перенаправить на IDP, если пользователь не авторизован [ЗАЩИТИТЬ ВЕСЬ САЙТ]опцию.

- Автоматическое перенаправление при входе в WordPress: Если эта опция включена, любой неаутентифицированный пользователь, пытающийся получить доступ к стандартной странице входа в WordPress, будет перенаправлен на страницу входа IDP для аутентификации. После успешной аутентификации он будет перенаправлен обратно на сайт WordPress.
Шаги:
- Перейдите во вкладку «Перенаправления и ссылки SSO» плагина и перейдите по ссылке... Вариант 2: Автоматическое перенаправление с сайта авторизации WordPress.
- Включите Перенаправление на IDP со страницы входа в WordPress опцию.

ПРИМЕЧАНИЕ: Пожалуйста, включите бэкдор-вход и запишите URL-адрес бэкдора. Это позволит вам получить доступ к странице входа в WordPress, если вы окажетесь заблокированы в IDP.
-
Ссылки SSO: Вы можете добавлять ссылки SSO в любом месте вашего сайта, используя предоставленные шорткод и виджет. Вкладка «Перенаправления и ссылки SSO» > Вариант 3: Ссылки SSO раздел плагина

Шаг 5: Настройки единого входа
В плагине Premium можно включить инициируемый поставщиком услуг единый вход (SSO) с помощью следующих параметров.
- Автоматическое перенаправление с сайта: Если эта опция включена, любой неаутентифицированный пользователь, пытающийся получить доступ к вашему сайту, будет перенаправлен на страницу входа в систему IDP, а после успешной аутентификации — обратно на ту же страницу вашего сайта, к которой он пытался получить доступ.
Шаги:
- Перейдите во вкладку «Перенаправления и ссылки SSO» плагина и перейдите по ссылке... Вариант 1: Автоматическое перенаправление с сайта.
- Включите Перенаправить на IDP, если пользователь не авторизован [ЗАЩИТИТЬ ВЕСЬ САЙТ] опцию.

-
Автоматическое перенаправление при входе в WordPress: Если эта опция включена, любой неаутентифицированный пользователь, пытающийся получить доступ к стандартной странице входа в WordPress, будет перенаправлен на страницу входа IDP для аутентификации. После успешной аутентификации он будет перенаправлен обратно на сайт WordPress.
Шаги:
-
Перейдите во вкладку «Перенаправления и ссылки SSO» плагина и перейдите по ссылке... Вариант 2: Автоматическое перенаправление со страницы входа в WordPress.
- Включите Перенаправление на IDP со страницы входа в WordPress опцию.

ПРИМЕЧАНИЕ: Пожалуйста, включите бэкдор-вход и запишите URL-адрес бэкдора. Это позволит вам получить доступ к странице входа в WordPress, если вы не сможете войти через IDP.
- Кнопка входа в систему: Вы можете добавить настраиваемую кнопку входа в систему в любом месте вашего сайта или на странице входа в WordPress, перейдя по следующему пути: Вариант 3: Кнопка входа раздел вкладки «Перенаправления и ссылки SSO».
-
Ссылки SSO: Вы можете добавлять ссылки SSO в любом месте вашего сайта, используя предоставленные шорткод и виджет. Вариант 4: Ссылки SSO раздел вкладки «Перенаправления и ссылки SSO».
Вы успешно настроили Shibboleth-3 в качестве поставщика идентификации SAML для единого входа Shibboleth SSO для WordPress, поэтому пользователи могут входить на ваш сайт WordPress, используя вход через Shibboleth-3 SSO.
В этом руководстве вы успешно выполнили настройку. Единый вход Shibboleth-3 SAML (Вход через Shibboleth-3 SSO) Выбирая Шибболет-3 как IDP и WordPress как SP через miniOrange plugin-SAML Single Sign On – SSO LoginЭто решение гарантирует, что вы сможете в считанные минуты обеспечить безопасный доступ к вашему сайту WordPress (WP) с помощью учетных данных Shibboleth-3.
Статьи по теме