Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

AEM Cloud Service SDK Universal Editor

Avatar

Level 1

Hi All,

 

I am trying to set up universal editor in my local and usinig AEM Cloud Service SDK (aem-sdk-2025.9.22758.20250928T092442Z-250900) for local development.

I have done below set up

  • AEM - http running on port 4502
  • AEM - https running on port 8443
  • Local universal editor service running on port 8000
  • Trusted the local certificate in the browser for self signed certificates

The problem I am facing is,

  1. when I try to load AEM page running on https (port 8443) inside universal editor, it gives this error "Blocked autofocusing on a <input> element in a cross-origin subframe." I followed whats mentioned in this document - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/dev... for same site cookie settings but it doesn't help and I continue getting the cross origin error. Has anyone come across the same issue
  2. There is no Universal editor service related configuration available in OSGI console for me to configure anything. Is this expected ?

 

The issue doesn't comes up when I am setting up universal editor with AEM 6.5 on prem with SP 21+ and universal editor service package. I am able to successfully load pages running on AEM 6.5 (SP21) inside universal editor service and can successfully edit them as well, but with AEM cloud SDK, I am unable to do so because I cannot go past the AEM login screen inside the universal editor.

 

Anyone who can help on this ?

2 Replies

Avatar

Community Advisor
There are few things that I'd like you to check in order to make it work:-
 
1. Configure Local AEM SDK for HTTPS:
2. The Universal Editor requires AEM to run on HTTPS locally. 
    Navigate to Tools > Security > SSL Configuration in your local AEM author instance.
    Follow the wizard to generate and configure an SSL certificate. For development, you can create a self-signed certificate using OpenSSL. 
 
3. Download and Set up the Universal Editor Service:
    Download the latest Universal Editor Service from the Adobe Software Distribution Portal. 
    Extract the downloaded zip file.
    Create a new directory (e.g., universal-editor-service) and copy the universal-editor-service.cjs file into it.
 
4. Create a .env file in this directory and configure environment variables, such as UES_PORT (e.g., 8000) and potentially UES_TLS_REJECT_UNAUTHORIZED=false for development.
 
5. Start the Local Universal Editor Service:
    Open your terminal, navigate to the universal-editor-service directory, and run:
 
       
 node universal-editor-service.cjs​
 
6. Configure AEM for Universal Editor:
    Access the Configuration Manager in your local AEM instance (e.g., http://localhost:4502/system/console/configMgr).
    Locate the Apache Sling Referrer Filter and ensure the Universal Editor's local URL is added to the allowed referrers.
    Locate the Apache Sling Main Servlet and remove or modify the X-Frame-Options=SAMEORIGIN header to allow AEM pages to be loaded within the Universal Editor's iframe.
 
 
-Tarun
 
 

Avatar

Level 2

Hi Tarun.. thanks for your reply.

I have all these steps what you mentioned, but still it does not work with AEM cloud service SDK in local machine. The AEM login screen is loading inside universal editor when I removed X-Frame-Options=SAMEORIGIN from apache sling main servlet, but the screen is frozen and I cannot click on the username and password field to login. This is expected behaviour as mentioned in this Doc - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/dev... . However to resolve this, the document says to modify Adobe Granite Token Authentication Handler OSGI Service and set SameSite attribute for the login-token cookie as None.

I have done that as well and as per the document, I should be able to click on the login screen and enter the username and password, but I am still getting this error "Blocked autofocusing on a <input> element in a cross-origin subframe."