Inicio de sesión social con Facebook y Twitter social-login-with-facebook-and-twitter

El inicio de sesión social es la capacidad de presentar a un visitante del sitio la opción de iniciar sesión con su cuenta de Facebook o de Twitter. Por lo tanto, incluye los datos de Twitter AEM o Facebook permitidos en su perfil de miembro de la.

socialloginweretail

Información general de inicio de sesión social social-login-overview

Para incluir el inicio de sesión social, es obligatorio para crear aplicaciones de Twitter y Facebook personalizadas.

Aunque el ejemplo de We-Retail proporciona aplicaciones de Twitter y Facebook de ejemplo y servicios en la nube, no están disponibles en un sitio web de producción.

Los pasos necesarios son:

  1. Habilitar la autenticación OAuth AEM en todas las instancias de publicación de la.

    Sin OAuth habilitado, no se puede iniciar sesión.

  2. Crear una aplicación social y un servicio en la nube.

  3. Activar inicio de sesión social para un sitio de la comunidad.

Hay dos conceptos básicos:

  1. Ámbito (permisos) especifica los datos que la aplicación puede solicitar.

  2. Campos (parámetros) especifica los datos reales solicitados mediante parámetros de URL.

Inicio de sesión de facebook facebook-login

Versión de API de facebook facebook-api-version

El inicio de sesión social y la muestra de Facebook we-retail se desarrollaron cuando la API de Facebook Graph era la versión 1.0. AEM AEM A partir de la versión 6.4, el inicio de sesión social de GA y la versión 6.3 SP1 de se actualizó para funcionar con la versión más reciente de la API 2.5 de Facebook Graph.

NOTE
AEM Para versiones anteriores de la, si se encuentra con una excepción en los registros de No se puede extraer un token de esto AEM , actualice a la última versión del CFP para esa versión de la.

Para obtener información sobre la versión de la API de Facebook Graph, consulte la ChangeLog de API de facebook.

Crear una aplicación de Facebook create-a-facebook-app

Se necesita una aplicación de Facebook correctamente configurada para habilitar el inicio de sesión social de Facebook.

Para crear una aplicación de Facebook, siga las instrucciones de Facebook en https://developers.facebook.com/apps/. Los cambios en sus instrucciones no se reflejan en la siguiente información.

En general, a partir de la API de Facebook v2.7:

  • Agregar nueva aplicación de Facebook

    • Para Plataforma, elija Sitio web:

      • Para URL del sitio, introduzca https://<server>:<port>.
      • Para Nombre para mostrar, introduzca un título para utilizarlo como Título del servicio de Facebook connect.
      • Para Categoría, se recomienda elegir Aplicaciones para páginas, pero puede ser cualquier cosa.
      • Añadir producto: inicio de sesión en Facebook
      • Para URI de redireccionamiento de OAuth válidos, introduzca https://<server>:<port>.
NOTE
Para el desarrollo, http://localhost:4503 funcionará.

Una vez creada la aplicación, busque ID de aplicación y Secreto de aplicación configuración. Esta información es necesaria para configurar el Facebook Cloud Service.

Creación de un Cloud Service de Facebook Connect create-a-facebook-connect-cloud-service

El Adobe Granite Aplicación y proveedor de OAuth La instancia de, que se crea creando una configuración de servicio en la nube, identifica la aplicación de Facebook y los grupos de miembros a los que se agregan los nuevos usuarios.

  1. AEM En la instancia de autor de la, inicie sesión con privilegios de administrador.

  2. En la navegación global, seleccione Herramientas > Cloud Service > Configuración del inicio de sesión social de facebook.

  3. Seleccione la configuración ruta de contexto.

    Ruta de contexto debe ser la misma que la ruta de configuración de nube seleccionada al crear o editar un sitio de la comunidad.

  4. Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.

  5. Ir a Herramientas > General > Explorador de configuración. Seleccione el contexto y edite las propiedades. Habilite Configuraciones en la nube si aún no está habilitado.

    config-propertiespng

  6. Crear/editar Configuración del servicio de nube facebook.

    fbsocialloginconfigpng

    • Título (Requerido) Escriba un título que identifique la aplicación de Facebook. Utilice el mismo nombre introducido que el Nombre para mostrar para la aplicación de Facebook.
    • ID de aplicación/Clave API (Requerido) Introduzca la ID de aplicación para la aplicación de Facebook. Esto identifica el Adobe Granite Aplicación y proveedor de OAuth instancia creada desde el cuadro de diálogo.
    • Secreto de aplicación (Requerido) Introduzca la Secreto de aplicación para la aplicación de Facebook.
    • Crear usuarios Si se selecciona, al iniciar sesión con una cuenta de Facebook AEM se creará una entrada de usuario de y se agregarán como miembros al grupo de usuarios seleccionado. La opción predeterminada está activada (recomendado).
    • Enmascarar ID de usuario: dejar sin seleccionar.
    • Correo electrónico de ámbito: el id de correo electrónico del usuario debe recuperarse de Facebook.
    • Añadir a grupos de usuarios seleccione Agregar grupo de usuarios para elegir uno o más grupos de miembros para el sitio de la comunidad al que se agregarán usuarios.
    note note
    NOTE
    Los grupos se pueden agregar o eliminar en cualquier momento. Sin embargo, las suscripciones de los usuarios existentes no se ven afectadas. La pertenencia automática solo se aplica a los nuevos usuarios que se crean después de esta actualización de campo. Para los sitios en los que los usuarios anónimos están deshabilitados, elija agregar usuarios al grupo de miembros de la comunidad correspondiente destinado a ese sitio de comunidad cerrado.
    • Seleccionar GUARDAR.
    • Publish.

El resultado es un Adobe Granite Aplicación y proveedor de OAuth que no requiere ninguna modificación adicional a menos que se agregue un ámbito adicional (permisos). El ámbito predeterminado son los permisos estándar para el inicio de sesión de Facebook. Si desea un ámbito adicional, es necesario editar la configuración de OSGI directamente. Si hay modificaciones realizadas directamente a través del sistema o la consola, evite editar las configuraciones del servicio en la nube desde la interfaz de usuario táctil para evitar sobrescribirlas.

Proveedor OAuth de AEM Communities Facebook aem-communities-facebook-oauth-provider

El proveedor de AEM Communities amplía el Adobe Granite Aplicación y proveedor de OAuth ejemplo.

Se debe editar este proveedor para:

  • Permitir actualizaciones de usuario

  • Añadir campos adicionales dentro del ámbito

    • No todos los campos permitidos de forma predeterminada se incluyen de forma predeterminada.

AEM Si es necesario editar, en cada instancia de publicación de la:

  1. Iniciar sesión con privilegios de administrador.

  2. Vaya a Consola web. Por ejemplo, http://localhost:4503/system/console/configMgr.

  3. Busque el proveedor de OAuth de AEM Communities Facebook.

  4. Seleccione el icono de lápiz que desea abrir para editarlo.

    fboauthprov_png

    • Identificador de proveedor de OAuth

      (Requerido) El valor predeterminado es soco -facebook. No editar.

    • Configuración del Cloud Service

      El valor predeterminado es /etc/ cloudservices / facebookconnect. No editar.

    • Configuración del servicio de proveedor de OAuth

      El valor predeterminado es /apps/social/facebookprovider/config/. No editar.

    • Habilitar etiquetas

      No editar.

    • Ruta de usuario

      Ubicación en el repositorio donde se almacenan los datos de usuario. En el caso de un sitio de la comunidad, para garantizar que los miembros tengan permisos para ver el perfil de los demás, la ruta debe ser la predeterminada /home/users/community.

    • Habilitar campos

      Si se selecciona, los campos enumerados se especifican en la solicitud a Facebook para la autenticación y la información del usuario. La opción predeterminada no está seleccionada.

    • Campos

      Cuando los campos están activados, se incluyen los siguientes campos al llamar a la API de Facebook Graph. Los campos deben permitirse dentro del ámbito definido en la configuración del servicio en la nube. Es posible que los campos adicionales requieran la aprobación de Facebook. Consulte la sección Permisos de inicio de sesión de Facebook en la documentación de Facebook. Los campos predeterminados agregados como parámetros son los siguientes:

      • id
      • name
      • first_name
      • last_name
      • vínculo
      • locale
      • retratar
      • timezone
      • updated_time
      • verificado
      • correo electrónico

    Si se agrega o cambia algún campo, actualice la configuración del controlador de sincronización predeterminada correspondiente para corregir la asignación.

    • Actualizar usuario

      Si se selecciona, actualiza los datos de usuario en el repositorio en cada inicio de sesión para reflejar los cambios de perfil o los datos adicionales solicitados. La opción predeterminada no está seleccionada.

Pasos siguientes next-steps

Los siguientes pasos son los mismos para Facebook y Twitter:

Inicio de sesión de twitter twitter-login

Crear una aplicación de Twitter create-a-twitter-app

Se requiere una aplicación de Twitter configurada para habilitar el inicio de sesión social en Twitter.

Siga las instrucciones más recientes para crear una aplicación de Twitter en https://apps.twitter.com.

En general:

  1. Introduzca una Nombre que identificará la aplicación de Twitter para los usuarios del sitio web.

  2. Introduzca una Descripción.

  3. Para sitio web - introducir https://<server>.

  4. Para URL de devolución de llamada - introducir https://server.

    note note
    NOTE
    No es necesario especificar el puerto.
    Para el desarrollo, https://127.0.0.1/ funcionará.
  5. Una vez creada la aplicación, busque Clave de consumidor (API) y Secreto de consumidor (API). Esta información será necesaria para configurar el Twitter cloud service.

Permisos permissions

En la sección de permisos de la administración de aplicaciones de Twitter:

  • Acceso: Seleccionar Read only.

    • Otras opciones no son compatibles
  • Permisos adicionales: opcionalmente, seleccione Request email addresses from users.

    • AEM Si no se selecciona, el perfil de usuario en la lista de direcciones no incluirá su dirección de correo electrónico.
    • Las instrucciones del twitter indican pasos adicionales a seguir.

La única solicitud de REST para el inicio de sesión social es GET de cuenta/verificación de credenciales.

Crear un Cloud Service de Twitter Connect create-a-twitter-connect-cloud-service

El Adobe Granite Aplicación y proveedor de OAuth La instancia de, que se crea creando una configuración de servicio en la nube, identifica la aplicación de Twitter y los grupos de miembros a los que se agregan los nuevos usuarios.

  1. En la instancia de autor, inicie sesión con privilegios de administrador.

  2. En la navegación global, seleccione Herramientas > Cloud Service > Configuración del inicio de sesión social de twitter.

  3. Elija la ruta de contexto configuración.

    La ruta de contexto debe ser la misma que la ruta de configuración de nube seleccionada al crear o editar un sitio de la comunidad.

  4. Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.

  5. Ir a Herramientas > General > Explorador de configuración. Seleccione el contexto y edite las propiedades. Habilite Configuraciones en la nube si aún no está habilitado.

    twitterconfigproppng

  6. Cree o edite la configuración del servicio en la nube de Twitter.

    twittersocialloginpng

    • Título

      (Requerido) Escriba un título para mostrar que identifique la aplicación de Twitter. Utilice el mismo nombre introducido que el Nombre para mostrar para la aplicación de Twitter.

    • Clave de consumidor

      (Requerido) Introduzca la Clave de consumidor (API) para la aplicación de Twitter. Esto identifica el Adobe Granite Aplicación y proveedor de OAuth instancia creada desde el cuadro de diálogo.

    • Secreto del consumidor

      (Requerido) Introduzca la Secreto de consumidor (API) para la aplicación de Twitter.

    • Crear usuarios

      Si se selecciona, al iniciar sesión con una cuenta de Twitter AEM se creará una entrada de usuario de y se agregarán como miembros al grupo de usuarios seleccionado. La opción predeterminada está activada (recomendado).

    • Enmascarar ID de usuario

      Dejar sin seleccionar.

    • Añadir a grupos de usuarios

      Seleccione Agregar grupo de usuarios para elegir uno o más grupos de miembros para el sitio de la comunidad al que se agregarán usuarios.

    note note
    NOTE
    Los grupos se pueden agregar o eliminar en cualquier momento. Sin embargo, las suscripciones de los usuarios existentes no se ven afectadas. La pertenencia automática solo se aplica a los nuevos usuarios que se crean después de esta actualización de campo. En los sitios en los que los usuarios anónimos están deshabilitados, agregue usuarios al grupo de miembros de la comunidad correspondiente destinado a ese sitio de comunidad cerrado.
  7. Seleccionar GUARDAR y Publish.

El resultado es un Adobe Granite Aplicación y proveedor de OAuth instancia que no requiere ninguna modificación adicional. El ámbito predeterminado son los permisos estándar para el inicio de sesión con Twitter.

Proveedor de OAuth de Twitter de AEM Communities aem-communities-twitter-oauth-provider

La configuración de AEM Communities amplía el Adobe Granite Aplicación y proveedor de OAuth ejemplo. Se debe editar este proveedor para permitir las actualizaciones del usuario.

AEM Si es necesario editar, en cada instancia de publicación de la:

  1. Iniciar sesión con privilegios de administrador.

  2. Vaya a Consola web.

    Por ejemplo, http://localhost:4503/system/console/configMgr.

  3. Busque el proveedor de OAuth de Twitter de AEM Communities.

  4. Seleccione el icono de lápiz que desea abrir para editarlo.

    twitteroauth_png

    • Identificador de proveedor de OAuth

    (Requerido) El valor predeterminado es soco-twitter. No editar.

    • Configuración del Cloud Service

      El valor predeterminado es conf. No editar.

    • Configuración del servicio de proveedor de OAuth

      El valor predeterminado es /apps/social/twitterprovider/config/. No editar.

    • Ruta de usuario

      Ubicación en el repositorio donde se almacenan los datos de usuario. En el caso de un sitio de la comunidad, para garantizar que los miembros tengan permisos para ver el perfil de los demás, la ruta debe ser la predeterminada /home/users/community.

    • Activar parámetros - no editar

    • Parámetros de URL - no editar

    • Actualizar usuario

      Si se selecciona, actualiza los datos de usuario en el repositorio en cada inicio de sesión para reflejar los cambios de perfil o los datos adicionales solicitados. La opción predeterminada no está seleccionada.

Pasos siguientes next-steps-1

Los siguientes pasos son los mismos para Facebook y Twitter:

Habilitar inicio de sesión social enable-social-login

Consola de AEM Communities Sites aem-communities-sites-console

Una vez configurado un servicio en la nube, puede habilitarse para la configuración de inicio de sesión social correspondiente en un sitio de la comunidad mediante Administración de usuarios Subpanel Configuración durante el sitio de la comunidad creación o administración.

  1. Elija el contexto de configuración del sitio en el que guardó las configuraciones de inicio de sesión social.

  2. En la pestaña General, establezca las configuraciones de nube.

    managesites_png

  3. En la pestaña Configuración, habilite Inicios de sesión sociales y Guardar.

    usermgmt_png

Probar inicio de sesión social test-social-login

  • Asegurar Controlador de autenticación OAuth de Adobe Granite se ha habilitado en todas las instancias de publicación.
  • Asegúrese de que se han publicado los servicios en la nube.
  • Asegúrese de que se ha publicado el sitio de la comunidad.
  • Inicie el sitio publicado en un explorador.
    Por ejemplo, http://localhost:4503/content/sites/engage/en.html
  • Seleccionar Iniciar sesión.
  • Seleccione una de las opciones Iniciar sesión con Facebook o Iniciar sesión con el Twitter.
  • Si aún no ha iniciado sesión en Facebook o Twitter, inicie sesión con las credenciales adecuadas.
  • Puede que sea necesario conceder permiso según el cuadro de diálogo que muestre la aplicación de Facebook o de Twitter.
  • Tenga en cuenta que la barra de herramientas situada en la parte superior de la página se actualiza para reflejar el inicio de sesión correcto.
  • Seleccionar Perfil: la página Perfil muestra la imagen de avatar del usuario, su nombre y apellidos. También muestra la información del perfil de Facebook o de Twitter según los campos o parámetros permitidos.

AEM Configuraciones de OAuth de plataforma aem-platform-oauth-configurations

Controlador de autenticación OAuth de Adobe Granite adobe-granite-oauth-authentication-handler

El Adobe Granite OAuth Authentication Handler no está activada de forma predeterminada y AEM debe estar habilitado en todas las instancias de publicación de la.

Para habilitar el controlador de autenticación en la publicación, simplemente abra la configuración OSGi y guárdela:

  • Iniciar sesión con privilegios de administrador.
  • Vaya a Consola web.
    Por ejemplo, http://localhost:4503/system/console/configMgr
  • Localizar Adobe Granite OAuth Authentication Handler.
  • Seleccione para abrir la configuración y editarla.
  • Seleccione Guardar.

graniteoauth

CAUTION
Tenga cuidado de no confundir el controlador de autenticación con una instancia de Facebook o de Twitter de Adobe Granite Aplicación y proveedor de OAuth.

graniteoauth1

Adobe Granite Aplicación y proveedor de OAuth adobe-granite-oauth-application-and-provider

Cuando se crea un servicio en la nube para Facebook o Twitter, se crea una instancia de Adobe Granite OAuth Authentication Handler se ha creado.

Para localizar la instancia creada para una aplicación de Facebook o de Twitter:

  1. Iniciar sesión con privilegios de administrador.

  2. Vaya a Consola web.

    Por ejemplo, http://localhost:4503/system/console/configMgr.

  3. Localice la aplicación y el proveedor de OAuth de Adobe Granite.

    • Busque la instancia donde ID de cliente coincide con el ID de aplicación.

      graniteoauth2

      Salvo las siguientes propiedades, deje las demás propiedades de la configuración sin modificar:

    • ID de configuración

      (Requerido) Los ID de configuración de OAuth deben ser únicos. Se genera automáticamente cuando se crea el servicio en la nube.

    • ID de cliente

      (Requerido) El ID de aplicación proporcionado cuando se creó el servicio en la nube.

    • Secreto del cliente

      (Requerido El secreto de la aplicación proporcionado cuando se creó el servicio en la nube.

    • Ámbito

      (Opcional) Se puede solicitar al proveedor un ámbito adicional para lo que se permite. El ámbito predeterminado cubre los permisos necesarios para proporcionar autenticación social y datos de perfil.

    • Identificador de proveedor

      (Requerido) El ID de proveedor para AEM Communities se establece cuando se creó el servicio en la nube. No editar. Para Facebook Connect, el valor es soco -facebook. Para Twitter Connect, el valor es soco-twitter.

    • Grupos

      (Recomendado) Uno o varios grupos de miembros a los que se agregan los usuarios creados. Para AEM Communities, se recomienda enumerar el grupo de miembros del sitio de la comunidad.

    • URL de devolución de llamada

      (Opcional) URL configurada con los proveedores de OAuth para redirigir al cliente de vuelta. Utilice una URL relativa para utilizar el host de la solicitud original. Dejar vacío para utilizar la URL solicitada originalmente en su lugar. El sufijo "/callback/j_security_check" se anexa automáticamente a esta URL

    note note
    NOTE
    El dominio para la llamada de retorno debe estar registrado con el proveedor (Facebook o Twitter).

Para cada configuración del controlador de autenticación OAuth, hay dos configuraciones adicionales creadas en la instancia:

  • Controlador de sincronización predeterminado Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler): no se requieren ediciones allí, pero puede ver las asignaciones de campos de usuario y cómo se asignan los campos de Facebook a un nodo de perfil de usuario de CQ. Observe también que "Nombre del controlador de sincronización" coincide con el ID de configuración de la configuración del proveedor de OAuth.
  • Módulo de inicio de sesión externo de Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory): no se requieren ediciones allí, pero es posible que observe que "Nombre del proveedor de identidad" y "Nombre del controlador de sincronización" son iguales y apuntan a las configuraciones de OAuth y controlador de sincronización correspondientes, respectivamente.

Para obtener más información, consulte Autenticación con el módulo de inicio de sesión externo de Apache Oak.

Rendimiento de recorrido de usuario de OAuth oauth-user-traversal-performance

Para los sitios de la comunidad que ven a cientos de miles de usuarios registrarse con su inicio de sesión de Facebook o Twitter, el rendimiento de recorrido de la consulta realizada cuando un visitante del sitio utiliza su inicio de sesión social se puede mejorar añadiendo el siguiente índice Oak.

Si se ven advertencias transversales en los registros, se recomienda añadir este índice.

En una instancia de autor, ha iniciado sesión con privilegios administrativos:

  1. En la navegación global: seleccione Herramientas, CRX/DE Lite.

  2. Cree un índice denominado ntBaseLucene-oauth a partir de una copia de ntBaseLucene:

    • En el nodo /oak:index
    • Seleccionar nodo ntBaseLucene
    • Seleccionar Copiar
    • Seleccionar /oak:index
    • Seleccionar Pegar
    • Cambie el nombre de la copia de ntBaseLucene a ntBaseLucene-oauth
  3. Modifique las propiedades del nodo ntBaseLucene-oauth:

    • indexPath: /oak:index/ntBaseLucene-oauth
    • name: oauthid-123&#x200B;**&#x200B;**
    • reindexar: true
    • reindexCount: 1
  4. En el nodo /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:

    • Elimine todos los nodos secundarios, excepto cqTags.

    • Cambie el nombre de cqTags a oauthid-123**&#x200B;**

    • Modificar las propiedades del nodo oauthid-123**&#x200B;**

      • name: oauthid-123&#x200B;**&#x200B;**
    • Seleccionar Guardar todo.

Para obtener más información y herramientas, consulte Consultas e indexación de Oak.

Configuración de Dispatcher dispatcher-configuration

Consulte Configurar Dispatcher para comunidades.

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791