Esta documentación está archivada y no tiene mantenimiento.

Ejemplo de código: Complemento WordPress

Publicada: mayo de 2011

Actualizado: junio de 2015

Se aplica a: Azure

El complemento WordPress para ACS permite que los hosts de WordPress usen ACS para permitir un inicio de sesión federado para sus sitios de WordPress.

Los administradores de WordPress pueden usar Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service 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 Active Directory Federation Services 2.0. El complemento WordPress para ACS representa una página de inicio de sesión personalizada en la configuración de ACS y permite que los usuarios finales usen un proveedor de identidades de su elección para iniciar sesión en el sitio de WordPress.

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

  • Autenticación en WordPress mediante Windows Live ID, Facebook, Google, Yahoo! o proveedores de identidades personalizados basados en web, configurados 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 tokens web sencillos (SWT)

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

  • Configuración de ACS para el complemento WordPress

  • Configuración de las opciones del complemento WordPress

  • Habilitación del complemento WordPress

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

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y haga clic en Active Directory. (Sugerencia para 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, Servicios de aplicaciones, 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 del Servicio de control de acceso.

  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 su sitio de WordPress en ACS, haga clic en Aplicaciones de usuario de confianza, haga clic en Agregar, escriba la información siguiente en el formulario y luego 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. Con esto, ACS se configura para enviar un token web sencillo (SWT) al complemento WordPress cada vez que un usuario se autentica 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 del usuario que ACS envía a su 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.

    ImportantImportante
    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 haya una regla que devuelva una notificación nameidentifier desde 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.

  1. Descargue el complemento WordPress del 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 de su 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 kerberos que introdujo al registrar el sitio de WordPress en ACS como 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.

    ImportantImportante
    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>
    
    

  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 del complemento WordPress para ACS.

  4. En ACS Plugin for WordPress, haga clic en Activar. El complemento WordPress para ACS se habrá habilitado en su sitio.

  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 haya configurado 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 inició sesión mediante Windows Live ID, también se le pedirá que escriba una dirección de correo.

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

noteNota
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.

  • El id. exclusivo que crea Windows Live ID para cada usuario es específico de su Espacio de nombres Access Control. Si reemplaza su Espacio de nombres Access Control por un Espacio de nombres Access Control que tiene otro nombre, los usuarios que se hayan autenticado con una cuenta de Windows Live ID no podrán iniciar sesión en su sitio. En el supuesto improbable de que deba cambiar el Espacio de nombres Access Control, estos usuarios aún podrán usar la característica de restablecimiento de la contraseña de WordPress para iniciar sesión mediante una contraseña local.

Mostrar: