AEM Forms 양식 데이터 모델을 사용하여 Adobe Campaign Standard 프로필을 만드는 단계
Swagger 파일을 사용하여 데이터 소스를 만들 때 AEM Forms은 다음과 같은 종류의 인증 유형을 지원합니다
Adobe Campaign Standard에 REST를 호출하려면 사용자 지정 인증을 사용해야 합니다.
사용자 지정 인증을 사용하려면 인증 인터페이스를 구현하는 OSGi 구성 요소를 개발해야 합니다
getAuthDetails 메서드를 구현해야 합니다. 이 메서드는 AuthenticationDetails 개체를 반환합니다. 이 AuthenticationDetails 개체에는 Adobe Campaign에 대한 REST API 호출을 수행하는 데 필요한 필수 HTTP 헤더 집합이 있습니다.
다음은 사용자 지정 인증을 만드는 데 사용된 코드입니다. getAuthDetails 메서드는 모든 작업을 수행합니다. AuthenticationDetails 개체를 만듭니다. 그런 다음 적절한 HttpHeaders를 이 개체에 추가하고 이 개체를 반환합니다.
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";
}
}
첫 번째 단계는 Swagger 파일을 만드는 것입니다. Swagger 파일은 Adobe Campaign Standard에서 프로필을 만드는 데 사용할 REST API를 정의합니다. Swagger 파일은 REST API의 입력 매개 변수와 출력 매개 변수를 정의합니다.
데이터 소스는 Swagger 파일을 사용하여 만들어집니다. 데이터 소스를 만들 때 인증 유형을 지정할 수 있습니다. 이 경우 사용자 지정 인증을 사용하여 Adobe Campaign에 대해 인증하려고 합니다. 위에 나열된 코드는 Adobe Campaign에 대해 인증하는 데 사용되었습니다.
샘플 Swagger 파일은 이 문서와 관련된 에셋의 일부로 제공됩니다.ACS 인스턴스와 일치하도록 swagger 파일의 호스트 및 basePath를 변경해야 합니다
솔루션을 테스트하려면 다음 단계를 따르십시오.
Swagger 파일을 사용하여 데이터 소스 생성 양식 데이터 모델 생성 을 선택하고 이전 단계에서 생성된 데이터 소스를 기반으로 합니다
이전 단계에서 만든 양식 데이터 모델을 기반으로 적응형 양식을 만듭니다.
데이터 소스 탭의 다음 요소를 적응형 양식에 끌어다 놓습니다
제출 액션을 "양식 데이터 모델을 사용하여 제출"로 구성합니다.
적절하게 제출하도록 데이터 모델을 구성합니다.
양식을 미리 봅니다. 필드를 입력한 다음 제출합니다.
Adobe Campaign Standard에서 프로필이 만들어졌는지 확인합니다.