La connexion à Social permet de proposer à un visiteur du site l’option de connexion à l’aide de son compte Facebook ou Twitter. Par conséquent, inclure les données Facebook ou Twitter autorisées dans leur profil de membre AEM.
Pour inclure la connexion sociale, il est nécessaire de créer des applications Facebook et Twitter personnalisées.
Bien que l’exemple we-retail fournisse des exemples d’applications Facebook et Twitter et de services cloud, ils ne sont pas disponibles sur un site web de production.
Les étapes requises sont les suivantes :
Activez l’ authentification OAuth sur toutes les instances de publication AEM.
Si OAuth n’est pas activé, les tentatives de connexion échouent.
Créez une application sociale et un service cloud.
Pour prendre en charge la connexion avec Facebook :
Pour prendre en charge la connexion avec Twitter :
Permet d’activer la connexion sociale pour un site de communauté.
Il existe deux concepts de base :
Portée (autorisations) spécifie les données que l’application est autorisée à demander.
Les champs (params) spécifient les données réelles demandées à l’aide des paramètres d’URL.
La connexion sociale et l’exemple de Facebook we-retail ont été développés lorsque l’API Facebook Graph était la version 1.0.
Depuis AEM version 6.4 GA et AEM 6.3 SP1, la connexion sociale a été mise à jour pour fonctionner avec la nouvelle version de l’API Facebook Graph 2.5.
Pour les versions AEM plus anciennes, si vous rencontrez une exception dans les journaux Impossible d’extraire un jeton de cette, effectuez une mise à niveau vers le dernier CFP pour cette version AEM.
Pour plus d’informations sur la version de l’API Facebook Graph, voir le journal des modifications de l’API Facebook.
Une application Facebook correctement configurée est requise pour activer la connexion sociale Facebook.
Pour créer une application Facebook, suivez les instructions Facebook à l’adresse https://developers.facebook.com/apps/. Les modifications apportées à leurs instructions ne sont pas répercutées dans les informations suivantes.
En règle générale, à partir de l’API Facebook v2.7 :
https://<server>:<port>.
https://<server>:<port>.
Pour le développement, http://localhost:4503 fonctionne.
Une fois l’application créée, localisez les paramètres ID d’application et Secret d’application. Ces informations sont requises pour la configuration du service cloud Facebook.
L’instance Adobe de l’application OAuth Granite et du fournisseur, instanciée par la création d’une configuration de service cloud, identifie l’application Facebook et le ou les groupes de membres auxquels les nouveaux utilisateurs sont ajoutés.
Sur l’instance d’auteur AEM, connectez-vous avec les droits d’administrateur.
Dans la navigation globale, sélectionnez Outils > Cloud Services > Configuration de la connexion à Facebook Social.
Sélectionnez le chemin du contexte de configuration.
Le chemin de contexte doit être identique au chemin de configuration du cloud que vous avez sélectionné lors de la création/modification d’un site de communauté.
Vérifiez si votre chemin d’accès au contexte est activé pour créer des services cloud en-dessous.
Accédez à Outils > Général > Navigateur de configuration. Sélectionnez votre contexte et modifiez les propriétés. Activez les configurations cloud si elles ne sont pas encore activées.
Créez/ Modifiez la configuration du service cloud Facebook.
Les groupes peuvent être ajoutés ou supprimés à tout moment. Mais les appartenances des utilisateurs existants ne seront pas affectées. L’adhésion automatique s’applique uniquement aux nouveaux utilisateurs créés après la mise à jour de ce champ. Pour les sites où les utilisateurs anonymes sont désactivés, choisissez d’ajouter des utilisateurs au groupe de membres de communauté correspondant destiné à ce site de communauté fermé.
Le résultat est une instance Adobe de l’application OAuth Granite et de Provider qui ne nécessite pas de modification supplémentaire, sauf si vous ajoutez une portée supplémentaire (autorisations). La portée par défaut est les autorisations standard pour la connexion à Facebook. Si une portée supplémentaire est souhaitée, il est nécessaire de modifier directement la configuration OSGI. Si des modifications sont effectuées directement via le système/la console, évitez de modifier vos configurations de service cloud à partir de l’interface utilisateur tactile afin d’éviter tout écrasement.
Le fournisseur AEM Communities étend les instances Adobe Granite OAuth Application et Provider.
Ce fournisseur devra être modifié pour :
Autoriser les mises à jour des utilisateurs
Ajouter des champs dans scope
Si des modifications sont nécessaires, sur chaque instance de publication AEM :
Connectez-vous avec les privilèges d’administrateur.
Accédez à la console Web. Par exemple, http://localhost:4503/system/console/configMgr.
Recherchez le fournisseur OAuth Facebook AEM Communities.
Sélectionnez l’icône en forme de crayon à ouvrir pour modification.
Identifiant du fournisseur OAuth
(Obligatoire) La valeur par défaut est soco-facebook. Ne modifiez pas.
Configuration du Cloud Service
La valeur par défaut est /etc/ cloudservices / facebookconnect
. Ne modifiez pas.
Configuration du service de fournisseur OAuth
La valeur par défaut est /apps/social/facebookprovider/config/
. Ne modifiez pas.
Activation des balises
Ne modifiez pas.
Chemin d’accès utilisateur
Emplacement dans le référentiel où les données utilisateur sont stockées. Pour un site de communauté, afin que les membres puissent y voir leur profil, le chemin doit être le chemin par défaut /home/users/community.
Activer les champs
Si cette case est cochée, les champs répertoriés sont spécifiés dans la demande à Facebook pour l’authentification et les informations de l’utilisateur. La valeur par défaut est désélectionnée.
Champs
Lorsque les champs sont activés, les champs suivants sont inclus lors de l’appel de l’API Facebook Graph. Les champs doivent être autorisés dans la portée définie dans la configuration du service cloud. Les champs supplémentaires peuvent nécessiter l’approbation de Facebook. Reportez-vous à la section Autorisations de connexion Facebook de la documentation Facebook. Les champs par défaut ajoutés en tant que paramètres sont les suivants :
Si un champ est ajouté ou modifié, mettez à jour la configuration du gestionnaire de synchronisation par défaut correspondant pour corriger le mappage.
Mettre à jour l’utilisateur
Si cette case est cochée, actualise les données utilisateur dans le référentiel à chaque connexion afin de refléter les modifications de profil ou les données supplémentaires demandées. La valeur par défaut est désélectionnée.
Les étapes suivantes sont les mêmes pour Facebook et Twitter :
Une application Twitter configurée est requise pour activer la connexion sociale Twitter.
Suivez les dernières instructions pour créer une application Twitter à l’adresse https://apps.twitter.com.
En général :
Saisissez un nom qui identifiera votre application Twitter aux utilisateurs de votre site web.
Saisissez une description.
Pour site Web - saisissez https://<server>
.
Pour URL de callback - saisissez https://server
.
Il n’est pas nécessaire de spécifier le port.
Pour le développement, https://127.0.0.1/ fonctionne.
Une fois l’application créée, localisez la Clé client (API) et le Secret client (API). Ces informations seront nécessaires pour la configuration du service cloud Twitter.
Dans la section Autorisations de la gestion des applications Twitter :
Accès : Sélectionnez Read only
.
Autorisations supplémentaires : Vous pouvez également choisir Request email addresses from users
.
La seule requête REST envoyée pour la connexion sociale est GET account/verify credentials.
L’instance Adobe de l’application OAuth Granite et du fournisseur, instanciée par la création d’une configuration de service cloud, identifie l’application Twitter et le ou les groupes de membres auxquels les nouveaux utilisateurs sont ajoutés.
Sur l’instance d’auteur, connectez-vous avec les privilèges d’administrateur.
Dans la navigation globale, sélectionnez Outils > Cloud Services > Configuration de la connexion à Twitter Social.
Sélectionnez la configuration context path .
Le chemin d’accès au contexte doit être identique au chemin de configuration du cloud que vous avez sélectionné lors de la création/modification d’un site de communauté.
Vérifiez si votre chemin d’accès au contexte est activé pour créer des services cloud en-dessous.
Accédez à Outils > Général > Navigateur de configuration. Sélectionnez votre contexte et modifiez les propriétés. Activez les configurations cloud si elles ne sont pas encore activées.
Créez/modifiez la configuration du service cloud Twitter.
Titre
(Obligatoire) Saisissez un titre d’affichage qui identifie l’application Twitter. Il est recommandé d’utiliser le même nom que celui saisi sous Nom d’affichage pour l’application Twitter.
Clé du client
(Obligatoire) Saisissez la Clé du client (API) pour l’application Twitter. Cela identifie l’instance Adobe de l’application OAuth Granite et de fournisseur créée à partir de la boîte de dialogue.
Secret de consommateur
(Obligatoire) Saisissez le Secret client(API) pour l’application Twitter.
Créer des utilisateurs
Si cette case est cochée, la connexion à l’aide d’un compte Twitter crée une entrée utilisateur AEM et l’ajoute en tant que membre au ou aux groupes d’utilisateurs sélectionnés. La valeur par défaut est cochée (vivement recommandé).
Masquer les identifiants utilisateur
Laissez désélectionné.
Ajouter aux groupes d’utilisateurs
Sélectionnez Ajouter un groupe d’utilisateurs pour choisir un ou plusieurs groupes de membres pour le site de communauté auquel les utilisateurs seront ajoutés.
Les groupes peuvent être ajoutés ou supprimés à tout moment. Mais les appartenances des utilisateurs existants ne seront pas affectées. L’adhésion automatique s’applique uniquement aux nouveaux utilisateurs créés après la mise à jour de ce champ. Pour les sites où les utilisateurs anonymes sont désactivés, ajoutez des utilisateurs au groupe de membres de communauté correspondant destiné à ce site de communauté fermé.
Sélectionnez SAVE et Publier.
Le résultat est une instance Adobe de l’application OAuth Granite et de Provider qui ne nécessite pas de modification supplémentaire. La portée par défaut est les autorisations standard pour la connexion à Twitter.
La configuration AEM Communities étend l’instance Adobe Granite OAuth Application et Provider. Ce fournisseur devra être modifié pour autoriser les mises à jour des utilisateurs.
Si des modifications sont nécessaires, sur chaque instance de publication AEM :
Connectez-vous avec les privilèges d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4503/system/console/configMgr.
Recherchez le fournisseur OAuth Twitter AEM Communities.
Sélectionnez l’icône en forme de crayon à ouvrir pour modification.
(Obligatoire) La valeur par défaut est soco-twitter. Ne modifiez pas.
Configuration du Cloud Service
La valeur par défaut est conf. Ne modifiez pas.
Configuration du service de fournisseur OAuth
La valeur par défaut est /apps/social/twitterprovider/config/
. Ne modifiez pas.
Chemin d’accès utilisateur
Emplacement dans le référentiel où les données utilisateur sont stockées. Pour un site de communauté, afin que les membres puissent afficher leur profil, le chemin d’accès doit être la valeur par défaut /home/users/community
.
Activer les paramètres sans modification
Les paramètres d’URL ne sont pas modifiés
Mettre à jour l’utilisateur
Si cette case est cochée, actualise les données utilisateur dans le référentiel à chaque connexion afin de refléter les modifications de profil ou les données supplémentaires demandées. La valeur par défaut est désélectionnée.
Les étapes suivantes sont les mêmes pour Facebook et Twitter :
Une fois qu’un service cloud est configuré, il peut être activé pour le paramètre Social Login approprié pour un site de communauté à l’aide du sous-panneau User Management Paramètres lors de la création du site de communauté 🔗ou gestion.
Sélectionnez le contexte de configuration de votre site dans lequel vous avez enregistré vos configurations de connexion sociale.
Dans l’onglet Général , définissez les configurations cloud.
Dans l’onglet Paramètres , activez Connexions aux réseaux sociaux et Enregistrer.
Adobe Granite OAuth Authentication Handler
n’est pas activé par défaut et doit être activé sur toutes les instances de publication AEM.
Pour activer le gestionnaire d’authentification lors de la publication, ouvrez simplement la configuration OSGi et enregistrez-la :
Adobe Granite OAuth Authentication Handler
.Veillez à ne pas confondre le gestionnaire d’authentification avec une instance Facebook ou Twitter de Adobe Granite OAuth Application et Provider.
Lorsqu’un service cloud pour Facebook ou Twitter est créé, une instance de Adobe Granite OAuth Authentication Handler
est créée.
Pour localiser l’instance créée pour une application Facebook ou Twitter :
Connectez-vous avec les privilèges d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4503/system/console/configMgr.
Localisez l’application et le fournisseur OAuth Adobe Granite.
Recherchez l’instance où ID client correspond à l’ID d’application.
A l’exception des propriétés suivantes, conservez les autres propriétés de la configuration inchangées :
ID de configuration
(Obligatoire) Les identifiants de configuration OAuth doivent être uniques. Généré automatiquement lors de la création du service cloud.
ID client
(Obligatoire) ID d’application fourni lors de la création du service cloud.
Secret client
(Obligatoire) Secret d’application fourni lors de la création du service cloud.
Portée
(Facultatif) Le fournisseur peut demander une portée supplémentaire pour ce qui est autorisé. La portée par défaut couvre les autorisations nécessaires pour fournir l’authentification sociale et les données de profil.
Identifiant du fournisseur
(Obligatoire) L’ID de fournisseur pour AEM Communities est défini lors de la création du service cloud. Ne modifiez pas. Pour Facebook Connect, la valeur est soco-facebook. Pour Twitter Connect, la valeur est soco-twitter.
Groupes
(Recommandé) Un ou plusieurs groupes de membres auxquels des utilisateurs créés sont ajoutés. Pour AEM Communities, il est recommandé de répertorier le groupe de membres pour le site de la communauté.
URL de rappel
(Facultatif) URL configurée avec les fournisseurs OAuth pour rediriger le client. Utilisez une URL relative pour utiliser l’hôte de la requête d’origine. Laissez vide pour utiliser l’URL demandée d’origine à la place. Le suffixe "/callback/j_security_check" est automatiquement ajouté à cette URL .
Le domaine du rappel doit être enregistré auprès du fournisseur (Facebook ou Twitter).
Pour chaque configuration du gestionnaire d’authentification OAuth, deux configurations supplémentaires sont créées dans l’instance :
Pour plus d’informations, voir Authentification avec module de connexion externe Apache Oak.
Pour les sites de la communauté qui voient des centaines de milliers d’utilisateurs s’enregistrer à l’aide de leur connexion Facebook ou Twitter, les performances transversales de la requête effectuée lorsqu’un visiteur du site utilise sa connexion sociale peuvent être améliorées en ajoutant l’index Oak suivant.
Si des avertissements transversaux s’affichent dans les journaux, il est recommandé d’ajouter cet index.
Sur une instance d’auteur, connectez-vous avec les privilèges d’administrateur :
À partir de la navigation globale : sélectionnez Outils, CRX/DE Lite.
Créez un index nommé ntBaseLucene-oauth à partir d’une copie de ntBaseLucene :
/oak:index
ntBaseLucene
/oak:index
ntBaseLucene-oauth
Modifiez les propriétés du noeud ntBaseLucene-oauth :
/oak:index/ntBaseLucene-oauth
oauthid-123​**​**
true
1
Sous le noeud /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties :
Supprimez tous les noeuds enfants, à l’exception de cqTags.
Renommez cqTags en oauthid-123​**​**
Modifier les propriétés du noeud oauthid-123​**​**
oauthid-123​**​**
Sélectionnez Enregistrer tout.
Pour le nom oauthid-123
, remplacez 123 par l’ID d’application Facebook ou la Clé de consommateur (API) correspondant à la valeur de l’ID de client dans l’ <a1111111111111111111111111111111111111111111111111111111111111111111111 Configuration de l’application et du fournisseur OAuth Granite🔗.
Pour plus d’informations et d’outils, voir Requêtes Oak et indexation.
Voir Configuration de Dispatcher pour Communities.