Show Menu
TEMAS×

Inicio de sesión social con Facebook y Twitter

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

Información general de inicio de sesión en Social

Para incluir el inicio de sesión social, es necesario crear aplicaciones personalizadas de Facebook y Twitter.
Aunque el ejemplo de venta minorista web proporciona aplicaciones de Facebook y Twitter de muestra y servicios en la nube, no están disponibles en un sitio web de producción.
Los pasos necesarios son:
  1. Habilite la autenticación OAuth en todas las instancias de publicación de AEM.
    Sin OAuth habilitado, los intentos de inicio de sesión fallan.
  2. Cree una aplicación social y un servicio en la nube.
    • Para admitir el inicio de sesión en Facebook:
      • Cree una aplicación de Facebook.
      • Cree y publique un servicio de nube de Facebook Connect.
    • Para admitir el inicio de sesión en Twitter:
  3. Habilite social para un sitio de comunidad.
Existen dos conceptos básicos:
  1. Ámbito (permisos) especifica los datos que la aplicación puede solicitar.
    • De forma predeterminada, las instancias de aplicación y proveedor de Adobe Granite OAuth de Facebook y Twitter incluyen los permisos básicos de la aplicación dentro de su ámbito.
  2. Campos (params) especifica los datos reales solicitados mediante parámetros de URL.

Inicio de sesión en Facebook

Versión de API de Facebook

El inicio de sesión social y la muestra de Facebook de venta minorista se desarrollaron cuando la API de gráfico de Facebook era la versión 1.0. A partir de AEM 6.4 GA y AEM 6.3 SP1, el inicio de sesión social se ha actualizado para que funcione con la versión más reciente de la API de gráficos de Facebook 2.5.
En el caso de versiones anteriores de AEM, si tiene una excepción en los registros No se puede extraer un token de esto , actualice a CFP más reciente para esa versión de AEM.
Para obtener información sobre la versión de la API de Facebook Graph, consulte el registro de cambios de la API de Facebook .

Crear una aplicación de Facebook

Se requiere una aplicación de Facebook configurada correctamente para habilitar el inicio de sesión social en 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, desde la API de Facebook v2.7:
  • Añadir una nueva aplicación de Facebook
    • Para plataforma , elija Sitio web:
      • Para la dirección URL ** del sitio, introduzca https://<server>:<port>.
      • En Nombre para mostrar, escriba un título para utilizarlo como título del servicio de conexión de Facebook.
      • Por 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 válidos de OAuth , introduzca https://<server>:<port>.
Para el desarrollo, http://localhost:4503 funcionará.
Una vez creada la aplicación, ubique la configuración de ID de aplicación y Secreto de aplicación . Esta información es necesaria para configurar el servicio de nube de Facebook.

Creación de un servicio de nube de Facebook Connect

La instancia de Adobe Granite OAuth Application and Provider , creada mediante la creación de 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. En la instancia de creación de AEM, inicie sesión con privilegios de administrador.
  2. En la navegación global, seleccione Herramientas > Servicios de nube > Configuración de inicio de sesión de Facebook Social.
  3. Seleccione la ruta de contexto de configuración.
    La ruta de contexto debe ser la misma que la ruta de configuración de la nube seleccionada al crear o editar un sitio de comunidad.
  4. Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.
  5. Vaya a Herramientas > General > Navegador ​de configuración. Seleccione el contexto y edite las propiedades. Habilite las configuraciones de nube si aún no están habilitadas.
  6. Crear/editar la configuración del servicio en la nube de Facebook.
    • Título ( obligatorio ) Escriba un título para mostrar que identifique la aplicación de Facebook. Se recomienda utilizar el mismo nombre introducido que el nombre para mostrar de la aplicación de Facebook.
    • ID de aplicación/Clave de API ( obligatoria ) Introduzca el ID de aplicación para la aplicación de Facebook. Identifica la instancia de Adobe Granite OAuth Application y Provider creada a partir del cuadro de diálogo.
    • Secreto de la aplicación ( obligatorio ) Introduzca el secreto de la aplicación para la aplicación de Facebook.
    • Crear usuarios Si está marcado, el inicio de sesión con una cuenta de Facebook creará una entrada de usuario de AEM y la agregará como miembro a los grupos de usuarios seleccionados. El valor predeterminado está marcado (se recomienda enfáticamente).
    • Enmascarar ID de usuario : No se seleccione.
    • Correo electrónico del ámbito: la ID de correo electrónico del usuario debe buscarse en Facebook.
    • Añadir a grupos de usuarios seleccione Añadir grupo de usuarios para elegir uno o varios grupos de miembros para el sitio de la comunidad al que se agregarán los usuarios.
    Los grupos pueden agregarse o eliminarse en cualquier momento. Sin embargo, las membresías de los usuarios existentes no se verán afectadas. La pertenencia automática solo se aplica a los usuarios nuevos que se crean después de esta actualización de campo. En Sitios donde los usuarios anónimos están deshabilitados, elija agregar usuarios al grupo de miembros de la comunidad correspondiente para ese sitio de comunidad cerrado.
    • Select SAVE .
    • Publicación .
El resultado es una instancia de Adobe Granite OAuth Application y Provider 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 iniciar sesión en Facebook. Si se desea un ámbito adicional, es necesario editar la configuración OSGI directamente. Si se realizan modificaciones directamente a través del sistema o la consola, evite editar las configuraciones del servicio en la nube desde la IU táctil para evitar la sobrescritura.

Proveedor de OAuth de Facebook de AEM Communities

El proveedor Comunidades de AEM amplía la aplicación Adobe Granite OAuth y la instancia de proveedor .
Este proveedor necesitará editar para:
  • Permitir actualizaciones de usuarios
  • Añadir campos adicionales dentro del ámbito
    • De forma predeterminada, no se incluyen todos los campos permitidos.
Si es necesario editar, en cada instancia de publicación de AEM:
  1. Inicie sesión con privilegios de administrador.
  2. Vaya a la consola web . Por ejemplo, http://localhost:4503/system/console/configMgr.
  3. Localice el proveedor de OAuth de Facebook de AEM Communities.
  4. Seleccione el icono del lápiz para abrirlo y editarlo.
    • ID de proveedor de OAuth
      ( Requerido ) El valor predeterminado es soco-facebook . No edite.
    • Configuración del servicio de nube
      El valor predeterminado es /etc/ cloudservices / facebookconnect . No edite.
    • Configuración del servicio proveedor de OAuth
      El valor predeterminado es /apps/social/facebookprovider/config/ . No edite.
    • Habilitar etiquetas
      No editar.
    • Ruta del usuario
      Ubicación en el repositorio donde se almacenan los datos del usuario. En un sitio de comunidad, para garantizar permisos para que los miembros realicen vistas en el perfil de los demás, la ruta debe ser la ruta predeterminada /inicio/usuarios/comunidad .
    • 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. El valor predeterminado no está seleccionado.
    • Fields
      Cuando los campos están habilitados, se incluyen los siguientes campos al llamar a la API de gráficos de Facebook. Los campos deben permitirse dentro del ámbito definido en la configuración del servicio en la nube. Los campos adicionales pueden requerir la aprobación de Facebook. Consulte la sección Permisos de inicio de sesión de Facebook de la documentación de Facebook. Los campos predeterminados agregados como parámetros son:
      • id
      • name
      • first_name
      • last_name
      • link
      • locale
      • picture
      • timezone
      • update_time
      • verificado
      • correo electrónico
    Si se agrega o se 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, se actualizan los datos de usuario en el repositorio de cada inicio de sesión para reflejar los cambios de perfil o los datos adicionales solicitados. El valor predeterminado no está seleccionado.

Próximos pasos

Los siguientes pasos son los mismos para Facebook y Twitter:

Inicio de sesión en Twitter

Crear una aplicación de Twitter

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 nueva aplicación de Twitter en https://apps.twitter.com .
En general:
  1. Introduzca un nombre que identifique la aplicación de Twitter con los usuarios del sitio web.
  2. Especificar una Descripción .
  3. Para sitio web : introduzca https://<server> .
  4. Para URL de llamada de retorno: introduzca https://server .
    No es necesario especificar el puerto.
    Para el desarrollo, https://127.0.0.1/ funcionará.
  5. Una vez creada la aplicación, localice la clave de consumidor (API) y el secreto de consumidor (API). Esta información será necesaria para configurar el servicio de nube de Twitter.

Permisos

En la sección Permisos de la administración de aplicaciones de Twitter:
  • Acceso : Seleccione Read only .
    • Otras opciones no son compatibles
  • Permisos adicionales: De forma opcional, elija Request email addresses from users .
    • Si no se selecciona, el perfil de usuario en AEM no incluirá su dirección de correo electrónico.
    • Las instrucciones de Twitter indican pasos adicionales que deben seguirse.
La única solicitud de REST que se realiza para iniciar sesión en redes sociales es para OBTENER las credenciales ​de cuenta o verificación.

Creación de un servicio de nube de Twitter Connect

La instancia de Adobe Granite OAuth Application and Provider , creada mediante la creación de 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 > Servicios de nube > Configuración de inicio de sesión de Twitter Social.
  3. Elija la configuración de ruta de acceso de contexto.
    La ruta de contexto debe ser la misma que la ruta de configuración de la nube que seleccionó al crear o editar un sitio de comunidad.
  4. Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.
  5. Vaya a Herramientas > General > Navegador ​de configuración. Seleccione el contexto y edite las propiedades. Habilite las configuraciones de nube si aún no están habilitadas.
  6. Crear/editar la configuración del servicio en la nube de Twitter.
    • Título
      ( Obligatorio ) Introduzca un título de visualización que identifique la aplicación de Twitter. Se recomienda utilizar el mismo nombre introducido que el nombre para mostrar para la aplicación de Twitter.
    • Clave de consumidor
      ( Obligatorio ) Introduzca la clave de consumidor (API) para la aplicación de Twitter. Identifica la instancia de Adobe Granite OAuth Application y Provider creada a partir del cuadro de diálogo.
    • Secreto del consumidor
      ( Necesario ) Introduzca el secreto ​** de consumidor (API) para la aplicación de Twitter.
    • Crear usuarios
      Si se selecciona, el inicio de sesión con una cuenta de Twitter creará una entrada de usuario de AEM y la agregará como miembro a los grupos de usuarios seleccionados. El valor predeterminado está marcado (se recomienda enfáticamente).
    • Enmascarar los ID de usuario
      No se seleccione.
    • Añadir a los grupos de usuarios
      Seleccione Añadir grupo de usuarios para elegir uno o varios grupos de miembros para el sitio de la comunidad al que se agregarán los usuarios.
    Los grupos pueden agregarse o eliminarse en cualquier momento. Pero la pertenencia de los usuarios existentes no se verá afectada. La pertenencia automática solo se aplica a los usuarios nuevos que se crean después de esta actualización de campo. En Sitios donde los usuarios anónimos están deshabilitados, agregue usuarios al grupo de miembros de la comunidad correspondiente que se dirija a ese sitio de comunidad cerrado.
  7. Seleccione GUARDAR y Publicar .
El resultado es una instancia de Adobe Granite OAuth Application y Provider que no requiere ninguna modificación adicional. El ámbito predeterminado son los permisos estándar para iniciar sesión en Twitter.

Proveedor de OAuth de AEM Communities Twitter

La configuración de Comunidades de AEM amplía la aplicación Adobe Granite OAuth y la instancia de proveedor . Este proveedor requerirá de edición para permitir las actualizaciones del usuario.
Si es necesario editar, en cada instancia de publicación de AEM:
  1. Inicie sesión con privilegios de administrador.
  2. Vaya a la 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 del lápiz para abrirlo y editarlo.
    • ID de proveedor de OAuth
    ( Requerido ) El valor predeterminado es soco-twitter . No edite.
    • Configuración del servicio de nube
      The default value is conf. No edite.
    • Configuración del servicio proveedor de OAuth
      El valor predeterminado es /apps/social/twitterprovider/config/ . No edite.
    • Ruta del usuario
      Ubicación en el repositorio donde se almacenan los datos del usuario. En un sitio de comunidad, para garantizar permisos para que los miembros puedan vista en el perfil de los demás, la ruta debe ser la predeterminada /home/users/community .
    • Habilitar parámetros no edita
    • Los parámetros de URL no se editan
    • Actualizar usuario
      Si se selecciona, se actualizan los datos de usuario en el repositorio de cada inicio de sesión para reflejar los cambios de perfil o los datos adicionales solicitados. El valor predeterminado no está seleccionado.

Próximos pasos

Los siguientes pasos son los mismos para Facebook y Twitter:

Habilitar inicio de sesión social

Consola Sitios de comunidades AEM

Una vez configurado un servicio en la nube, puede habilitarse para la configuración de inicio de sesión social correspondiente para un sitio de la comunidad mediante el subpanel Configuración de administración de usuarios durante la creación o administración del sitio de la comunidad.
  1. Elija el contexto de configuración del sitio en el que guardó las configuraciones de inicio de sesión social.
  2. En la ficha General, establezca las configuraciones de nube.
  3. En la ficha Configuración, habilite Inicios de sesión de Social y Guardar.

Inicio de sesión en Test Social

  • Asegúrese de que Adobe Granite OAuth Authentication Handler esté habilitado en todas las instancias de publicación.
  • Asegúrese de que se han publicado los servicios en la nube.
  • Asegúrese de que el sitio de la comunidad se haya publicado.
  • Inicie el sitio publicado en un explorador. Por ejemplo, http://localhost:4503/content/sites/engage/en.html
  • Seleccione Iniciar sesión .
  • Seleccione Iniciar sesión con Facebook o Iniciar sesión con Twitter .
  • Si aún no ha iniciado sesión en Facebook o Twitter, inicie sesión con las credenciales correspondientes.
  • Puede que sea necesario conceder permisos en función del cuadro de diálogo que muestre la aplicación de Facebook o Twitter.
  • Observe 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 del avatar, el nombre y los apellidos del usuario. También muestra la información del perfil de Facebook o Twitter según los campos o parámetros permitidos.

Configuraciones de AEM Platform OAuth

Controlador de autenticación OAuth de Adobe Granite

El Adobe Granite OAuth Authentication Handler archivo no está habilitado de forma predeterminada y debe estar habilitado en todas las instancias de publicación de AEM.
Para habilitar el controlador de autenticación en la publicación, simplemente abra la configuración OSGi y guárdela:
  • Inicie sesión con privilegios de administrador.
  • Vaya a la consola web . Por ejemplo, http://localhost:4503/system/console/configMgr
  • Localizar Adobe Granite OAuth Authentication Handler .
  • Seleccione esta opción para abrir la configuración y editarla.
  • Seleccione Guardar .
Tenga cuidado de no confundir el controlador de autenticación con una instancia de Facebook o Twitter de Adobe Granite OAuth Application and Provider .

Aplicación y proveedor Adobe Granite OAuth

Cuando se crea un servicio en la nube para Facebook o Twitter, se crea una instancia de Adobe Granite OAuth Authentication Handler .
Para localizar la instancia creada para una aplicación de Facebook o Twitter:
  1. Inicie sesión con privilegios de administrador.
  2. Vaya a la consola web .
    Por ejemplo, http://localhost:4503/system/console/configMgr.
  3. Busque la aplicación y el proveedor de OAuth de Adobe Granite.
    • Busque la instancia en la que el ID ​de cliente coincide con el ID de aplicación.
      Salvo las siguientes propiedades, no modifique las demás propiedades de la configuración:
    • 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 del cliente
      ( Requerido ) El ID de aplicación proporcionado cuando se creó el servicio en la nube.
    • Secreto del cliente
      ( Requerido ) El secreto de aplicación proporcionado cuando se creó el servicio en la nube.
    • Ámbito
      ( Opcional ) Se puede solicitar al proveedor un ámbito adicional para lo permitido. El ámbito predeterminado cubre los permisos necesarios para proporcionar autenticación social y datos de perfil.
    • ID del proveedor
      ( Obligatorio ) El ID de proveedor de AEM Communities se establece al crear el servicio en la nube. No edite. Para Facebook Connect, el valor es soco-facebook . Para Twitter Connect, el valor es soco-twitter .
    • Grupos
      ( Recomendado ) Se agregan uno o varios grupos de miembros a los que se han creado usuarios. Para comunidades AEM, se recomienda la lista del grupo de miembros para el sitio de la comunidad.
    • URL de llamada de retorno
      URL ( opcional ) configurada con los proveedores de OAuth para redireccionar al cliente. Utilice una dirección URL relativa para utilizar el host de la solicitud original. Deje vacío para utilizar la dirección URL solicitada originalmente. El sufijo "/callback/j_security_check" se anexa automáticamente a esta dirección URL.
    El dominio de la llamada de retorno debe estar registrado en 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 modificaciones allí, pero puede ver las asignaciones de campo de usuario cómo se asignan los campos de Facebook a un nodo de perfil de usuario de CQ. También observe que 'Nombre del controlador de sincronización' coincide con el identificador de configuración de la configuración del proveedor de OAuth.
  • Módulo de inicio de sesión externo Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory) - Aquí no se requieren ediciones, pero puede que observe que 'Nombre de proveedor de identidad' y 'Nombre del controlador de sincronización' son iguales y apuntan a las configuraciones correspondientes de OAuth y controlador de sincronización respectivamente.
Para obtener más información, consulte Autenticación con el módulo Apache Oak External Login.

Rendimiento de recorrido del usuario de OAuth

Para los sitios de la comunidad que ven que cientos de miles de usuarios se registran mediante su inicio de sesión en Facebook o Twitter, el rendimiento transversal de la consulta realizada cuando un visitante del sitio utiliza su inicio de sesión social puede mejorarse agregando el siguiente índice Oak.
Si se ven advertencias transversales en los registros, se recomienda agregar este índice.
En una instancia de autor, ha iniciado sesión con privilegios administrativos:
  1. Desde la navegación global: seleccione Herramientas, CRX/DE Lite .
  2. Cree un índice denominado ntBaseLucene-oauth a partir de una copia de ntBaseLucene:
    • Bajo nodo /oak:index
    • Seleccionar nodo ntBaseLucene
    • Seleccionar copia
    • Seleccione /oak:index
    • Seleccionar pegar
    • Cambiar 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. Bajo el nodo /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
    • Elimine todos los nodos secundarios, excepto cqTags.
    • Cambiar el nombre de cqTags a oauthid-123&#x200B;**&#x200B;**
    • Modificar las propiedades del nodo oauthid-123&#x200B;**&#x200B;**
      • name : oauthid-123&#x200B;**&#x200B;**
    • Seleccione Guardar todo .
  • Para el nombre oauthid-123 , reemplace 123 por el ID de aplicación de Facebook o la clave de consumidor de Twitter (API) que es el valor del ID de Aplicación y proveedor Adobe Granite OAuth cliente en la aplicación OAuth de Adobe Granite y la configuración de proveedor.
Para obtener información y herramientas adicionales, consulte Consultas Oak e Indexación .

Dispatcher Configuration