Expand my Community achievements bar.

Call AEM endpoint from secured App Builder Action

Avatar

Level 1

I created a barebones App Builder Project in Developer Console with 1 action calling an AEM servlet. The goal is to call this action from a third-party application and preserve the "require-adobe-auth: true" annotation.

 

I've seen references to the IMS Auth library, but that takes a client id/secret to generate a token. My Project in Developer Console doesn't have a Credentials section where I can grab this information.

 

The Headless App example just takes out the "require-adobe-auth" annotation: https://developer.adobe.com/app-builder/docs/resources/barcode-reader/barcode/. It'd be great if there was an example on how to achieve this 

 

How I envision this working:

We call the App Builder Action using the service credentials provided in the Developer Console Project. With that access token, the App Builder Action will be able to call the AEM endpoint. We manage the AEM access level of the App Builder service credentials through Admin Console, assigning it to an existing Product Profile. In this scenario, we do not use the AEM Service Credentials obtained from Cloud Manager - Developer Console

 

Edit:
Some findings so far:

  • I added Adobe Analytics to my project, that enabled the Credentials section and I can now obtain an Access Token to authenticate with my Action from Postman/curl/etc. I then deleted the Adobe Analytics API from my project because I don't need it. This method of enabling Service Credentials for a Project is extremely confusing because AEM is not listed as an option in the API/Services modal.
  • There's no way to make this App Builder service credentials work with AEM - even if you add this API Credentials to a Profile in Admin Console. 
  • This document kinda helped me but it shows how to authenticate with Adobe Analytics even though is listed in the AEM documentation. https://experienceleague.adobe.com/docs/experience-manager-learn/cloud-service/developing/extensibil... 
  • I've gone through all the App Builder examples and authenticating with AEM takes two forms:
    •  Embedded in Experience Shell - the implicit token is for your own user and that works with AEM (your user has to have access to AEM, of course)
    • Passing the AEM Service Credentials (obtained from Cloud Managed - Dev Console) to the Action in the request body. Not exactly what I'm looking for.

what I'll do in the interim is: use the App Builder Service Credentials to authenticate from the 3rd party application and provision my App Builder action the AEM service credentials during deployment. 

 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

0 Replies