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 miembro AEM.
Para incluir el inicio de sesión social, es necesario crear aplicaciones personalizadas de Facebook y Twitter.
Aunque el ejemplo de venta minorista proporciona aplicaciones y servicios en la nube de Facebook y Twitter de ejemplo, no están disponibles en un sitio web de producción.
Los pasos necesarios son:
Habilite la autenticación OAuth en todas AEM instancias de publicación.
Sin OAuth habilitado, los intentos de iniciar sesión fallan.
Cree una aplicación social y un servicio en la nube.
Para admitir el inicio de sesión en Facebook:
Para admitir el inicio de sesión en Twitter:
Habilite el inicio de sesión social para un sitio de la comunidad.
Existen dos conceptos básicos:
Scope (permisos) especifica los datos que la aplicación puede solicitar.
Fields (parámetros) especifica los datos reales solicitados mediante parámetros de URL.
El inicio de sesión en Social y la muestra de Facebook para minoristas se desarrollaron cuando la API de Facebook Graph 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 actualizó para funcionar con la versión más reciente de la API 2.5 de Facebook Graph.
Para las versiones anteriores de AEM, si se enfrenta a una excepción en los registros No se puede extraer un token de este, actualice a la última versión de CFP 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.
Se requiere una aplicación de Facebook configurada correctamente 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, desde la API de Facebook v2.7:
https://<server>:<port>.
https://<server>:<port>.
Para el desarrollo, http://localhost:4503 funcionará.
Una vez creada la aplicación, localice los ajustes App ID y App Secret. Esta información es necesaria para configurar el servicio en la nube de Facebook.
La instancia 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.
En la instancia de autor de AEM, inicie sesión con privilegios de administrador.
En la navegación global, seleccione Herramientas > Cloud Services > Configuración de inicio de sesión de Facebook Social.
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 la comunidad.
Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.
Vaya a Tools > General > Configuration Browser. Seleccione el contexto y edite las propiedades. Habilite Configuraciones de nube si aún no está habilitado.
Crear/ editar la configuración del servicio en la nube de Facebook.
Los grupos pueden agregarse o eliminarse en cualquier momento. Pero las membresías de los usuarios existentes no se verán afectadas. La pertenencia automática solo se aplica a los nuevos usuarios 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 que esté destinado a ese sitio de comunidad cerrado.
El resultado es una instancia de Adobe Granite OAuth Application and Provider que no requiere ninguna modificación adicional a menos que agregue un ámbito (permisos) adicional. El ámbito predeterminado son los permisos estándar para el inicio de sesión en Facebook. Si desea un ámbito adicional, es necesario editar la configuración 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.
El proveedor de AEM Communities extiende la instancia de Adobe Granite OAuth Application y Provider.
Este proveedor necesitará editar para:
Permitir actualizaciones de usuarios
Añadir campos adicionales dentro del ámbito
Si es necesario editar, en cada instancia de publicación AEM:
Inicie sesión con privilegios de administrador.
Vaya a la Consola Web. Por ejemplo, http://localhost:4503/system/console/configMgr.
Busque el proveedor de OAuth de AEM Communities Facebook.
Seleccione el icono de lápiz para abrirlo y editarlo.
ID de proveedor de OAuth
(Requerido) El valor predeterminado es soco -facebook. No edite.
Configuración del Cloud Service
El valor predeterminado es /etc/ cloudservices / facebookconnect
. No edite.
Configuración del servicio de proveedor de OAuth
El valor predeterminado es /apps/social/facebookprovider/config/
. No edite.
Habilitar etiquetas
No edite.
Ruta del usuario
Ubicación en el repositorio donde se almacenan los datos del usuario. Para un sitio de comunidad, para garantizar permisos para que los miembros vean el perfil de los demás, la ruta debe ser la /home/users/community predeterminada.
Habilitar campos
Si está activada, los campos que aparecen en la lista se especifican en la solicitud a Facebook para obtener autenticación e información de los usuarios. Se anula la selección del valor predeterminado.
Fields
Cuando los campos están habilitados, se incluyen los siguientes campos al llamar a la API de Facebook Graph. Los campos deben estar permitidos 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 añadidos como parámetros son:
Si se agrega o cambia algún campo, actualice la configuración del controlador de sincronización predeterminado 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. El valor predeterminado no está seleccionado.
Los siguientes pasos son los mismos para Facebook y Twitter:
Se requiere una aplicación de Twitter configurada para habilitar el inicio de sesión social de Twitter.
Siga las instrucciones más recientes para crear una nueva aplicación de Twitter en https://apps.twitter.com.
En general:
Introduzca un Name que identificará la aplicación de Twitter con los usuarios del sitio web.
Especificar una Descripción.
Para sitio web, introduzca https://<server>
.
Para Callback URL, introduzca https://server
.
No es necesario especificar el puerto.
Para el desarrollo, https://127.0.0.1/ funcionará.
Una vez creada la aplicación, localice el Secreto Consumidor (API) y Consumidor (API). Esta información será necesaria para configurar el servicio en la nube de Twitter.
En la sección Permisos de la administración de aplicaciones de Twitter:
Acceso: Seleccione Read only
.
Permisos adicionales: De forma opcional, elija Request email addresses from users
.
La única solicitud REST realizada para el inicio de sesión social es cuenta de GET/comprobar credenciales.
La instancia 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.
En la instancia de autor, inicie sesión con privilegios de administrador.
En la navegación global, seleccione Herramientas > Cloud Services > Configuración de inicio de sesión de Twitter Social.
Elija la configuración de ruta de contexto.
La ruta de contexto debe ser la misma que la ruta de configuración de nube que seleccionó al crear o editar un sitio de comunidad.
Compruebe si la ruta de contexto está habilitada para crear servicios en la nube debajo de ella.
Vaya a Tools > General > Configuration Browser. Seleccione el contexto y edite las propiedades. Habilite Configuraciones de nube si aún no está habilitado.
Cree/edite la configuración del servicio en la nube de Twitter.
Título
(Requerido) Introduzca un título 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
(Requerido) Introduzca la clave de consumidor (API) para la aplicación de Twitter. Esto identifica la instancia Adobe Granite OAuth Application and Provider creada a partir del cuadro de diálogo.
Secreto del consumidor
(Requerido) Introduzca el Secreto del 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 AEM y la agregará como miembro a los grupos de usuarios seleccionados. El valor predeterminado está marcado (se recomienda encarecidamente).
Enmascarar los ID de usuario
Deje sin seleccionar.
Añadir a los 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 los usuarios.
Los grupos pueden agregarse o eliminarse en cualquier momento. Pero las membresías de los usuarios existentes no se verán afectadas. La pertenencia automática solo se aplica a los nuevos usuarios 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 esté diseñado para ese sitio de comunidad cerrado.
Seleccione GUARDAR y Publicar.
El resultado es una instancia de Adobe Granite OAuth Application and Provider que no requiere ninguna modificación adicional. El ámbito predeterminado son los permisos estándar para el inicio de sesión en Twitter.
La configuración de AEM Communities amplía la instancia Adobe Granite OAuth Application and Provider. Este proveedor necesitará la edición para permitir actualizaciones del usuario.
Si es necesario editar, en cada instancia de publicación AEM:
Inicie sesión con privilegios de administrador.
Vaya a la Consola Web.
Por ejemplo, http://localhost:4503/system/console/configMgr.
Busque el proveedor de OAuth de AEM Communities Twitter.
Seleccione el icono de lápiz para abrirlo y editarlo.
(Requerido) El valor predeterminado es soco -twitter. No edite.
Configuración del Cloud Service
El valor predeterminado es conf. No edite.
Configuración del servicio de 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. Para un sitio de comunidad, para garantizar permisos para que los miembros vean el perfil de los demás, la ruta debe ser la /home/users/community
predeterminada.
Activar parámetros no editar
Los parámetros de URL no se editan
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. Se anula la selección del valor predeterminado.
Los siguientes pasos son los mismos para Facebook y Twitter:
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 del sitio de la comunidad 🔗 o administración.
Elija el contexto de configuración del sitio donde guardó las configuraciones de inicio de sesión de Social.
En la pestaña General , configure las configuraciones de nube.
En la ficha Configuración , habilite Inicio de sesión de Social y Guardar.
El Adobe Granite OAuth Authentication Handler
no está habilitado de forma predeterminada y debe estar habilitado en todas AEM instancias de publicación.
Para habilitar el controlador de autenticación en la publicación, simplemente abra la configuración OSGi y guárdela:
Adobe Granite OAuth Authentication Handler
.Tenga cuidado de no confundir el controlador de autenticación con una instancia de Facebook o Twitter de 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
.
Para localizar la instancia creada para una aplicación de Facebook o Twitter:
Inicie sesión con privilegios de administrador.
Vaya a la Consola Web.
Por ejemplo, http://localhost:4503/system/console/configMgr.
Localice la aplicación y el proveedor de Adobe Granite OAuth.
Busque la instancia en la que Client ID coincida con el App ID.
Salvo las siguientes propiedades, deje las demás propiedades de la configuración sin modificar:
ID de configuración
(Los ID de configuración de OAuth requeridos) deben ser únicos. Generado 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 la aplicación que se proporciona cuando se creó el servicio en la nube.
Ámbito
(Opcional) Se puede solicitar al proveedor un ámbito adicional para lo que está permitido. El ámbito predeterminado cubre los permisos necesarios para proporcionar autenticación social y datos de perfil.
ID del proveedor
(Obligatorio) El ID del proveedor para AEM Communities se establece cuando se creó 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 añaden uno o más grupos de miembros a los que se crean usuarios. Para AEM Communities, se recomienda incluir el grupo de miembros para el sitio de la comunidad.
URL de llamada de retorno
(URL opcional) configurada con los proveedores de OAuth para redirigir al cliente hacia atrás. Utilice una dirección URL relativa para utilizar el host de la solicitud original. Deje vacío para usar la dirección URL solicitada originalmente. El sufijo "/callback/j_security_check" se anexa automáticamente a esta URL .
El dominio de la rellamada debe estar registrado con el proveedor (Facebook o Twitter).
Para cada configuración del controlador de autenticación de OAuth, hay dos configuraciones adicionales creadas en la instancia:
Para obtener más información, consulte Autenticación con el módulo de inicio de sesión externo Apache Oak.
Para los sitios de la comunidad que ven que cientos de miles de usuarios se registran usando 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 se puede mejorar añadiendo el siguiente índice Oak.
Si se observan advertencias transversales en los registros, se recomienda añadir este índice.
En una instancia de autor, ha iniciado sesión con privilegios administrativos:
Desde la navegación global: seleccione Herramientas, CRX/DE Lite.
Cree un índice llamado ntBaseLucene-oauth a partir de una copia de ntBaseLucene:
/oak:index
ntBaseLucene
/oak:index
ntBaseLucene-oauth
Modifique las propiedades del nodo ntBaseLucene-oauth:
/oak:index/ntBaseLucene-oauth
oauthid-123​**​**
true
1
En 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​**​**
Modificación de las propiedades del nodo oauthid-123​**​**
oauthid-123​**​**
Seleccione Guardar todo.
Para el nombre oauthid-123
, reemplace 123 por la App ID o la clave Consumidor (API) de Twitter que es el valor del Client ID en el Adobe Aplicación OAuth de Granite y configuración de Proveedor.
Para obtener información y herramientas adicionales, consulte Consultas e indexación de Oak.
Consulte Configuración de Dispatcher para Communities.