Ejemplo de código: Complemento de WordPress

Actualizado: 19 de junio de 2015

Se aplica a: Azure

El complemento de WordPress de ACS permite a los hosts de WordPress usar ACS para habilitar el inicio de sesión federado para sus sitios de WordPress.

Los administradores de WordPress pueden usar Microsoft Azure Active Directory Access Control (también conocido como servicio de Access Control o ACS) para crear relaciones de confianza entre sus sitios y proveedores de identidades, como Windows Live ID, Facebook, Google, Yahoo!, y proveedores de identidades personalizados, como Microsoft Servicios de federación de Active Directory (AD FS) 2.0. El complemento de WordPress de ACS representa una página de inicio de sesión personalizada basada en la configuración de ACS y permite a los usuarios finales usar un proveedor de identificación de su elección para iniciar sesión en el sitio de WordPress.

Para descargar el complemento de WordPress, consulte http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

Características

  • Autentíquese en WordPress mediante Windows Live ID, Facebook, Google, Yahoo!, o un proveedor de identidades personalizado basado en web configurado en ACS

  • Fácil registro para los suscriptores al sitio de WordPress

  • Administración del sitio de WordPress mediante una cuenta federada

  • Las cuentas federadas son idénticas a las cuenta de usuario normales y admiten la reserva a la autenticación local basada en contraseña

  • Se integra con ACS mediante el protocolo WS-Federation y Simple Web Tokens

Requisitos

  • Una cuenta Microsoft Azure en la página principal de Azure.

  • Un espacio de nombres Access Control. Para obtener más información, vea How to: Create an Access Control Namespace.

  • Host web con PHP 5.0 o posterior

  • Host web con WordPress 3.0 o posterior

Configuración del complemento de WordPress de ACS

Hay tres partes de la configuración del complemento de WordPress de ACS:

  • Configuración de ACS para el complemento de WordPress

  • Configuración de las opciones del complemento WordPress

  • Habilitación del complemento WordPress

Configuración de ACS para el complemento de WordPress

Puede usar el Portal de administración de ACS para configurar ACS.

Para configurar ACS para el complemento de WordPress

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y, a continuación, haga clic en Active Directory. (Sugerencia de solución de problemas: falta el elemento "Active Directory" o no está disponible)

  2. Para crear un espacio de nombres Access Control, haga clic en Nuevo, App Services, Access Control y, a continuación, en Creación rápida. (O haga clic en espacios de nombres Access Control antes de hacer clic en Nuevo.)

  3. Para administrar el espacio de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar. (O haga clic en espacios de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar.)

    Esta acción abre el portal de administración de Access Control Service.

  4. Para establecer relaciones con los proveedores de identidades que le gustaría que los usuarios de su sitio web usaran al iniciar sesión, haga clic en Proveedores de identidades y luego seleccione un proveedor de identidades para su sitio.

  5. Para registrar el sitio de WordPress con ACS, haga clic en Aplicaciones de usuario de confianza, haga clic en Agregar, escriba la siguiente información en el formulario y, a continuación, haga clic en Guardar.

    • En el campo Nombre, escriba un nombre para mostrar del sitio.

    • En el campo Dominio kerberos, escriba la dirección URL base del sitio de WordPress. Por ejemplo: http://127.0.0.1/wordpress/

    • En el campo Dirección URL de retorno, escriba la dirección URL del archivo wp-login.php en su sitio de WordPress. Por ejemplo: http://127.0.0.1/wordpress/wp-login.php

    • En el campo Formato de token, seleccione SWT. Esto configura ACS para enviar un token web simple (SWT) al complemento de WordPress siempre que un usuario se autentique correctamente.

    • En el campo Proveedores de identidades, seleccione los proveedores de identidades que quiera admitir en el sitio.

    • En el campo Clave de firma de token, haga clic en Generar para crear una clave de firma de token. Copie esta clave para usarla más tarde en la configuración del complemento.

    • En el campo Fecha de expiración, escriba la fecha de expiración apropiada para la clave. La clave ya no será válida en esa fecha.

    • No cambie los demás campos con valores predeterminados.

  6. A continuación, cree las reglas que determinan la información de usuario que ACS envía al sitio. En este ejemplo, enviamos todas las notificaciones emitidas por los proveedores de identidades. Para crear esta regla, haga clic en Grupos de reglas, haga clic en Grupo de reglas predeterminado para mi sitio de WordPress y luego haga clic en Generar. Compruebe que los proveedores de identidades estén seleccionados y vuelva a hacer clic en Generar.

    Importante

    Es sumamente importante que el tipo de notificación de entrada identifica al usuario de forma exclusiva. Si no está seguro de qué tipo de notificación utilizar, póngase en contacto con el administrador de su proveedor de identidades.

    Si usa un proveedor de identidades de WS-Federation personalizado, como AD FS 2.0, asegúrese de que hay una regla que devuelve una notificación nameidentifier de este proveedor de identidades. Esta notificación envía el id. exclusivo del usuario a la aplicación WordPress. Si falta esta regla, debe crear una regla que asigne la notificación de id. exclusivo devuelta por ese proveedor de identidades al tipo de notificación nameidentifier.

Configuración de las opciones del complemento WordPress

Para configurar las opciones del complemento WordPress

  1. Descargar el complemento de WordPress desde el sitio de WordPress en http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

  2. Abra el archivo acs-wp-plugin-config-sample.php en la carpeta descargada.

  3. En el campo ACS_NAMESPACE, escriba el nombre de dominio completo del espacio de nombres Access Control, como mynamespace.accesscontrol.windows.net. Para buscar el nombre de dominio, en el portal de ACS, haga clic en Integración de aplicaciones. El valor aparece en el campo Portal de administración de la sección Referencia de extremo.

  4. Para la constante ACS_APPLICATION_REALM , escriba el dominio que escribió al registrar el sitio de WordPress con ACS como una aplicación de usuario de confianza, por ejemplo, http://127.0.0.1/wordpress/.

  5. En el campo ACS_TOKEN_SIGNING_KEY, escriba la clave de firma de token que creó al registrar el sitio de WordPress como aplicación de usuario de confianza. Trate esta clave de manera segura, al igual que lo haría con una contraseña.

  6. Guarde el archivo como acs-wp-plugin-config.php.

    Importante

    El archivo acs-wp-plugin-config.php contiene información privada que debe protegerse de los usuarios no autorizados. Se recomienda establecer permisos apropiados en este archivo y configurar el servidor web para denegar el acceso directo a este archivo a través del explorador. Para los servidores web Apache, copie el código siguiente en un archivo llamado .htaccess y colóquelo en el mismo directorio que el archivo acs-wp-plugin-config.php.

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

Habilitación del complemento WordPress

Para habilitar el complemento WordPress

  1. Copie la carpeta acs-plugin-for-wordpress en la carpeta /wp-content/plugins/ en su instalación de WordPress.

  2. En un explorador web, vaya a su sitio de WordPress e inicie sesión como administrador.

  3. En el área de administración del sitio, haga clic en Complementos. Aparece la página Complemento de ACS para WordPress.

  4. En ACS Plugin for WordPress, haga clic en Activar. El complemento de WordPress de ACS ahora está habilitado en su sitio.

Prueba del complemento WordPress

Para probar el complemento WordPress

  1. Para probar el complemento, cierre sesión en el sitio de WordPress y seleccione Iniciar sesión en la página principal del sitio.

    La página de inicio de sesión muestra un botón para cada proveedor de identidades que configuró en ACS.

  2. Seleccione un proveedor de identidades e inicie sesión.

  3. Cuando se autentique, se le pedirá que cree un nombre de usuario para el sitio de WordPress. Si ha iniciado sesión con Windows Live ID, también se le pedirá que escriba una dirección de correo electrónico.

Se crea una cuenta de WordPress con el rol Suscriptor y se le redirigirá a la página de su perfil de WordPress. Para las visitas posteriores, haga clic en el proveedor de identidades para iniciar sesión. No se le pedirá que escriba un nombre de usuario o una dirección de correo electrónico.

Nota

Una cuenta de administrador puede promover las cuentas de suscriptor federadas al estado de administrador, así que use una cuenta federada para administrar el sitio.

Notas

  • El identificador único que Windows Live ID crea para cada usuario es específico del espacio de nombres Access Control. Si reemplaza el espacio de nombres de Access Control por un espacio de nombres de Access Control que tenga un nombre diferente, los usuarios que se autenticaron con una cuenta de Windows Live ID no podrán iniciar sesión en el sitio. En el improbable caso de que necesite cambiar el espacio de nombres Access Control, estos usuarios pueden seguir usando la característica de restablecimiento de contraseña de WordPress para iniciar sesión con una contraseña local.