Étapes de création d’un profil Adobe Campaign Standard à l’aide du modèle de données de formulaire AEM Forms
Lors de la création d’une source de données à l’aide du fichier swagger, AEM Forms prend en charge les types d’authentification suivants :
Nous devrons utiliser l'authentification personnalisée pour effectuer des appels REST à Adobe Campaign Standard.
Pour utiliser l'authentification personnalisée, nous devrons développer un composant OSGi qui implémente l'interface IAuthentication
La méthode getAuthDetails doit être implémentée. Cette méthode renvoie l'objet AuthenticationDetails. Les en-têtes HTTP requis sont définis pour cet objet AuthenticationDetails afin d’effectuer l’appel d’API REST à Adobe Campaign.
Voici le code utilisé pour créer l’authentification personnalisée. La méthode getAuthDetails fait tout le travail. Nous créons l'objet AuthenticationDetails. Ensuite, nous ajoutons les HttpHeaders appropriés à cet objet et retournons cet objet.
package aemfd.campaign.core;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.adobe.aemfd.dermis.authentication.api.IAuthentication;
import com.adobe.aemfd.dermis.authentication.exception.AuthenticationException;
import com.adobe.aemfd.dermis.authentication.model.AuthenticationDetails;
import com.adobe.aemfd.dermis.authentication.model.Configuration;
import aemforms.campaign.core.CampaignService;
import formsandcampaign.demo.CampaignConfigurationService;
@Component(service=IAuthentication.class,immediate=true)
public class CampaignAuthentication implements IAuthentication {
@Reference
CampaignService campaignService;
@Reference
CampaignConfigurationService config;
private Logger log = LoggerFactory.getLogger(CampaignAuthentication.class);
@Override
public AuthenticationDetails getAuthDetails(Configuration arg0) throws AuthenticationException {
try {
AuthenticationDetails auth = new AuthenticationDetails();
auth.addHttpHeader("Cache-Control", "no-cache");
auth.addHttpHeader("Content-Type", "application/json");
auth.addHttpHeader("X-Api-Key",config.getApiKey() );
auth.addHttpHeader("Authorization", "Bearer "+campaignService.getAccessToken());
log.debug("Returning auth");
return auth;
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidKeySpecException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public String getAuthenticationType() {
// TODO Auto-generated method stub
return "Campaign Custom Authentication";
}
}
La première étape consiste à créer le fichier swagger. Le fichier swagger définit l’API REST qui va être utilisée pour créer un profil en Adobe Campaign Standard. Le fichier swagger définit les paramètres d’entrée et de sortie de l’API REST.
Une source de données est créée à l’aide du fichier swagger. Lors de la création de la source de données, vous pouvez spécifier le type d’authentification. Dans ce cas, nous allons utiliser l'authentification personnalisée pour nous authentifier auprès d'Adobe Campaign. Le code répertorié ci-dessus a été utilisé pour s'authentifier auprès d'Adobe Campaign.
Un exemple de fichier swagger vous est fourni dans le cadre de l’élément lié à cet article.Veillez à modifier l'hôte et basePath dans le fichier swagger pour qu'ils correspondent à votre instance ACS.
Pour tester la solution, procédez comme suit :
Téléchargez et décompressez ce fichier pour obtenir le fichier swagger.
Création d’une source de données à l’aide du fichier swagger
Créer un modèle de données de formulaire et le baser sur la source de données créée à l’étape précédente
Créez un formulaire adaptatif basé sur le modèle de données de formulaire créé à l’étape précédente.
Faites glisser les éléments suivants de l’onglet Sources de données vers le formulaire adaptatif
Configurez l’action d’envoi sur "Envoyer à l’aide du modèle de données de formulaire".
Configurez le modèle de données à envoyer de manière appropriée.
Prévisualiser le formulaire. Renseignez les champs et envoyez.
Vérifiez que le profil est créé dans Adobe Campaign Standard.