Overview :Authentication: ADFS SAML Single Sign-On (SSO)
ID4037: The key needed to verify the signature could not be resolved from the security key identifier. Ensure that the Security Token Resolver is populated with the required key.
This error generally occurs when AutomationEdge is unable to validate the SAML response received from ADFS due to one or more of the following:
descriptor.xml)
Before configuring SSO, obtain the following information from ADFS:
descriptor.xml).crt)Note:
To generate a Self-Signed or CA-signed certificate, refer to the Keystore and Certificate Generation guide.
Example:
https://<AutomationEdge-Server>/aeui/index.jspVerify that the Entity ID (Identifier) configured in AutomationEdge is exactly the same as the Identifier configured in the ADFS Relying Party Trust.
The Entity ID configured in AutomationEdge does not match the Identifier configured in ADFS.
Update the Identifier in AutomationEdge so that it exactly matches the Identifier configured in ADFS.
Select:
Attribute Store:
Active DirectoryConfigure the following mappings:
| LDAP Attribute | Outgoing Claim |
|---|---|
| User-Principal-Name | username |
| E-Mail-Addresses | emailAddress |
| Given-Name | firstName |
| Surname | lastName |
Select:
Finish the wizard.
AutomationEdge expects the outgoing claim names exactly as shown below.
The values are case-sensitive.
username
emailAddress
firstName
lastNameClaim names were configured with incorrect capitalization or different names.
Examples:
UserName
Email
Firstname
Last_NameUpdate the claim names to:
username
emailAddress
firstName
lastNameVerify that:
AutomationEdge and ADFS were configured with different certificates.
As a result, AutomationEdge could not verify the SAML signature, resulting in the ID4037 error.
Navigate to:
Relying Party Trust → Properties → Endpoints
Add:
Endpoint Type
SAML LogoutBinding
POSTTrusted URL
https://<ADFS-Server>/adfs/ls/?wa=wsignout1.0Response URL
https://<AutomationEdge-Server>/aeui/logout.jspSave the configuration.
Verify that the Logout URL configured in AutomationEdge matches the Logout endpoint configured in ADFS.
Incorrect Single Logout URL.
Update the Logout URL to:
https://<ADFS-Server>/adfs/ls/?wa=wsignout1.0The original ADFS configuration documentation includes a WS-Federation endpoint.
However, when only SAML authentication is being used, WS-Federation is not required.
WS-Federation endpoint configured unnecessarily.
Remove the WS-Federation endpoint if only SAML authentication is used.
Note:
Configure WS-Federation only if your authentication flow explicitly requires it.
Navigate to:
Relying Party Trust
→ Properties
→ AdvancedEnsure the Secure Hash Algorithm is configured as:
SHA-256Whenever certificates are regenerated, download a fresh Federation Metadata file.
Open PowerShell:
Get-AdfsEndpointLocate the Federation Metadata endpoint.
Open the URL in a browser.
Save the XML as:
descriptor.xmlUpload the updated descriptor.xml into the AutomationEdge SSO configuration.
Whenever the Token Signing Certificate changes, upload a new descriptor.xml to AutomationEdge.
AutomationEdge was using an outdated Federation Metadata file.

Download a fresh descriptor.xml and upload it into the AutomationEdge SSO configuration.
Configure the following under Settings → Single Sign-On:
descriptor.xml)Save the configuration.
On the login page:
Before testing SSO, verify the following:
| Configuration | Validation |
|---|---|
| Entity ID | Matches exactly between AutomationEdge and ADFS |
| Redirect URL | HTTPS and correctly configured |
| Claim Names | username, emailAddress, firstName, lastName |
| Token Signing Certificate | Same certificate in ADFS and AutomationEdge |
| Primary Certificate | Correct Token Signing Certificate is set as Primary |
| Secure Hash Algorithm | SHA-256 |
| Logout URL | Correct ADFS logout endpoint |
| descriptor.xml | Latest version uploaded after certificate changes |
| WS-Federation | Removed if not required |

The issue was resolved by performing the following actions:
usernameemailAddressfirstNamelastNamedescriptor.xml after certificate regeneration.After applying the above configuration changes: