Пример кода: подключаемый модуль WordPress

Обновлено: 19 июня 2015 г.

Область применения: Azure

Подключаемый модуль ACS WordPress позволяет узлам WordPress использовать ACS для включения федеративного входа для своих сайтов WordPress.

Администраторы WordPress могут использовать Microsoft Azure Active Directory контроль доступа (также называемые службой контроль доступа или ACS) для создания отношений доверия между своими сайтами и поставщиками удостоверений, такими как Windows Live ID, Facebook, Google, Yahoo!и пользовательские поставщики удостоверений, такие как Microsoft службы федерации Active Directory (AD FS) 2.0. Подключаемый модуль ACS WordPress отображает пользовательскую страницу входа на основе конфигурации ACS и позволяет конечным пользователям использовать поставщика личных данных для входа на сайт WordPress.

Сведения о скачивании подключаемого модуля WordPress см. в статье http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

Функции

  • Проверка подлинности в WordPress с помощью Windows Live ID, Facebook, Google, Yahoo!или настраиваемых поставщиков удостоверений, настроенных в ACS

  • Простая регистрация для подписчиков сайта WordPress

  • Управление сайтом WordPress с помощью федеративной учетной записи

  • Федеративные учетные записи аналогичны обычным учетным записям пользователей и поддерживают переход на локальную проверку подлинности на основе паролей

  • Интегрируется с ACS с помощью протокола WS-Federation и простых веб-маркеров.

Требования

Настройка подключаемого модуля WordPress ACS

Существует три части настройки подключаемого модуля WordPress ACS:

  • Настройка ACS для подключаемого модуля WordPress

  • Настройка параметров подключаемого модуля WordPress

  • Включение подключаемого модуля WordPress

Настройка ACS для подключаемого модуля WordPress

Для настройки ACS можно использовать портал управления ACS.

Настройка ACS для подключаемого модуля WordPress

  1. Перейдите на портал управления Microsoft Azure (https://manage.WindowsAzure.com), войдите и щелкните Active Directory. (Совет по устранению неполадок: элемент Active Directory отсутствует или недоступен)

  2. Чтобы создать пространство имен Access Control, щелкните Создать, Службы приложений, Управление доступом, а затем выберите Быстрое создание. (Или щелкните Пространства имен Access Control перед тем, как щелкнуть Создать.)

  3. Для выполнения управления пространством имен Access Control выберите пространство имен и щелкните Управление. (Или щелкните Пространства имен Access Control, выберите пространство имен, а затем щелкните Управление.)

    Это действие открывает портал управления Access Control Service.

  4. Чтобы активировать связи с поставщиками удостоверений, с помощью которых пользователи веб-сайта смогут входить в систему, щелкните Поставщики удостоверений и выберите поставщик удостоверений для вашего сайта.

  5. Чтобы зарегистрировать сайт WordPress в ACS, щелкните "Приложения проверяющей стороны", нажмите кнопку "Добавить", введите следующие сведения в форме и нажмите кнопку "Сохранить".

    • В поле Имя введите отображаемое имя сайта.

    • В поле Область введите базовый URL-адрес сайта WordPress. Пример: http://127.0.0.1/wordpress/

    • В поле URL возврата введите URL-адрес файла wp-login.php на сайте WordPress. Пример: http://127.0.0.1/wordpress/wp-login.php

    • В поле Формат токена выберите SWT. Это настраивает ACS для отправки простого веб-токена (SWT) в подключаемый модуль WordPress всякий раз, когда пользователь успешно проходит проверку подлинности.

    • В поле Поставщики удостоверений выберите поставщики удостоверений, которые будет поддерживать ваш сайт.

    • В поле Ключ подписи токена щелкните Создать, чтобы сформировать ключ подписи токена. Скопируйте этот ключ, он понадобится далее при настройке подключаемого модуля.

    • В поле Дата окончания срока действия введите дату окончания срока действия ключа. После этой даты ключ больше не будет действителен.

    • Оставьте значения по умолчанию в других полях.

  6. Затем создайте правила, определяющие сведения о пользователе, отправляемые ACS на ваш сайт. В этом примере мы отправляем все утверждения, выданные поставщиками удостоверений. Чтобы создать правило, последовательно щелкните Группы правил, Группа правил по умолчанию для моего сайта WordPress и Создать. Убедитесь, что нужные поставщики удостоверений выбраны, и нажмите кнопку Создать еще раз.

    Важно!

    Важно, чтобы тип входного удостоверения уникально определял пользователя. Если вы не уверены, какой тип удостоверения использовать, обратитесь к администратору поставщика удостоверений.

    Если вы используете настраиваемый поставщик удостоверений WS-Federation, например AD FS 2.0, убедитесь, что существует правило, которое возвращает утверждение nameidentifier от этого поставщика удостоверений. Это утверждение отправляет уникальный идентификатор пользователя приложению WordPress. Если это правило отсутствует, необходимо создать правило, сопоставляющее утверждение уникального идентификатора, возвращенное поставщиком удостоверений, с типом утверждения nameidentifier.

Настройка параметров подключаемого модуля WordPress

Настройка параметров подключаемого модуля WordPress

  1. Скачайте подключаемый модуль WordPress с сайта WordPress по адресу http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

  2. Откройте файл acs-wp-plugin-config-sample.php в папке, куда вы загрузили подключаемый модуль.

  3. В поле ACS_NAMESPACE введите полное доменное имя пространства имен контроль доступа, например mynamespace.accesscontrol.windows.net. Чтобы найти доменное имя, на портале ACS щелкните "Интеграция приложений". Значение отображается в поле Портал управления раздела Ссылки на конечные точки.

  4. Для константы ACS_APPLICATION_REALM введите область, введенную при регистрации сайта WordPress в ACS в качестве приложения проверяющей стороны, например http://127.0.0.1/wordpress/.

  5. В поле ACS_TOKEN_SIGNING_KEY введите ключ подписи токена, созданный при регистрации сайта WordPress в качестве приложения проверяющей стороны. Защищайте этот ключ так же, как и пароли.

  6. Сохраните файл как acs-wp-plugin-config.php.

    Важно!

    Файл acs-wp-plugin-config.php содержит конфиденциальные данные, которые необходимо защитить от несанкционированных пользователей. Мы рекомендуем задать соответствующие разрешения для этого файла и настроить на веб-сервере запрет на прямой доступ к нему через браузер. Для веб-серверов Apache скопируйте код ниже в файл .htaccess и поместите его в том же каталоге, что и файл acs-wp-plugin-config.php.

    # protect acs-wp-plugin-config.php
    <files acs-wp-plugin-config.php>
    order allow,deny
    deny from all
    </files>
    

Включение подключаемого модуля WordPress

Включение подключаемого модуля WordPress

  1. Скопируйте папку acs-plugin-for-wordpress в папку /wp-content/plugins/ в каталоге установки WordPress.

  2. Откройте ваш сайт WordPress в браузере и войдите как администратор.

  3. В области администрирования сайта щелкните Подключаемые модули. Откроется страница подключаемого модуля ACS для WordPress.

  4. В разделе Подключаемый модуль ACS для WordPress нажмите кнопку Активировать. Подключаемый модуль ACS WordPress теперь включен на вашем сайте.

Проверка подключаемого модуля WordPress

Проверка подключаемого модуля WordPress

  1. Чтобы протестировать подключаемый модуль, выйдите с сайта WordPress и щелкните Вход на главной странице сайта.

    На странице входа отображается одна кнопка для каждого поставщика удостоверений, настроенного в ACS.

  2. Выберите поставщик удостоверений и войдите.

  3. После проверки подлинности потребуется создать имя пользователя для сайта WordPress/ Если вы вошли с помощью Windows Live ID, вам также будет предложено ввести адрес электронной почты.

Будет создана учетная запись WordPress с ролью Подписчик, и откроется страница профиля WordPress. Для последующих посещений щелкните поставщика удостоверений, чтобы войти в систему. Вам не будет предложено ввести имя пользователя или адрес электронной почты.

Примечание

Учетная запись администратора позволяет дать федеративным учетным записям подписчиков права администратора, поэтому для управления сайтом используйте ее.

Примечания

  • Уникальный идентификатор, создаваемый Windows Live ID для каждого пользователя, зависит от пространства имен контроль доступа. Если вы замените пространство имен контроль доступа пространством имен контроль доступа с другим именем, пользователи, прошедшие проверку подлинности с помощью учетной записи Windows Live ID, не смогут войти на сайт. В маловероятном случае, если необходимо изменить пространство имен контроль доступа, эти пользователи по-прежнему могут использовать функцию сброса пароля WordPress для входа с использованием локального пароля.