Oracle IDCS Integration with EBS and Active Directory – Complete SSO Setup Guide
Single Sign-On (SSO) has become a critical requirement for modern Oracle E-Business Suite deployments. Users expect to log in once and access all their enterprise applications seamlessly — without re-entering credentials. Oracle Identity Cloud Service (IDCS) makes this possible by providing a centralized, cloud-based identity management platform that integrates with both Oracle E-Business Suite and enterprise identity providers like Microsoft Active Directory.
In this comprehensive guide, I'll walk you through the complete integration of Oracle Identity Cloud Service (IDCS) with Oracle E-Business Suite 12.2 and Microsoft Active Directory, enabling:
- Single Sign-On (SSO) for EBS users using IDCS credentials
- Active Directory Federation so users log in with their corporate AD accounts
- Centralized user management across cloud and on-premises applications
- Multi-Factor Authentication (MFA) and adaptive security policies
This is a production-ready, step-by-step implementation guide with real commands, configuration files, and troubleshooting tips.
What is Oracle Identity Cloud Service (IDCS)?
Oracle Identity Cloud Service (IDCS) is Oracle's cloud-native, Identity-as-a-Service (IDaaS) platform. It provides:
- Single Sign-On (SSO) for cloud and on-premises applications
- Multi-Factor Authentication (MFA) with OTP, SMS, email, and biometric support
- User Lifecycle Management — create, update, deactivate users centrally
- Federation with external Identity Providers (IdP) — Active Directory, ADFS, Okta, Azure AD, Google
- API-driven access control and OAuth 2.0 / SAML 2.0 support
- Adaptive Security — risk-based authentication, IP whitelisting, device trust
IDCS replaces the traditional on-premises SSO stack (Oracle Access Manager + Oracle Internet Directory) with a simpler, cloud-native solution.
Why Integrate IDCS with EBS and Active Directory?
The Traditional EBS SSO Stack is Complex
Historically, implementing SSO for Oracle EBS required:
- Oracle Access Manager (OAM) — web SSO engine
- Oracle Internet Directory (OID) — LDAP directory
- Oracle HTTP Server (OHS) — reverse proxy with WebGate agent
- AD Sync Tools — to replicate users from Active Directory to OID
This multi-tier architecture is expensive to deploy, maintain, and upgrade.
IDCS Simplifies Everything
With IDCS:
✅ No OAM or OID required — IDCS replaces both
✅ Lightweight EBS Asserter — a small Java WAR app deployed on WebLogic
✅ Native AD Federation — SAML 2.0 federation with Active Directory Federation Services (ADFS) or AD Bridge for user sync
✅ Cloud-managed — Oracle handles patching, upgrades, and availability
✅ Works with EBS on-premises and in OCI — hybrid cloud ready
Business Benefits
- Faster Deployment — 1–2 weeks vs. 2–3 months for OAM/OID
- Lower TCO — no infrastructure to maintain
- Better Security — MFA, adaptive policies, audit logs in the cloud
- Unified User Experience — one login for EBS, cloud apps, and SaaS tools
Architecture Overview — How It All Fits Together
Here's the high-level integration architecture:
┌─────────────────────┐
│ End User Browser │
└──────────┬──────────┘
│
│ 1. Access EBS URL
▼
┌──────────────────────────────┐
│ EBS Asserter (WebLogic) │ ◄── Java WAR app
│ https://ebsasserter.com │
└──────────┬───────────────────┘
│
│ 2. Redirect to IDCS for authentication
▼
┌──────────────────────────────┐
│ Oracle Identity Cloud │
│ Service (IDCS) │ ◄── Cloud Identity Provider
│ identity.oraclecloud.com │
└──────────┬───────────────────┘
│
│ 3. Federate to AD FS (if AD user)
▼
┌──────────────────────────────┐
│ Microsoft Active Directory │
│ Federation Services (ADFS) │ ◄── On-Premises IdP
│ or AD Bridge │
└──────────┬───────────────────┘
│
│ 4. Validate user credentials
▼
┌──────────────────────────────┐
│ Microsoft Active Directory │ ◄── Enterprise LDAP
│ (Domain Controller) │
└──────────────────────────────┘
Flow:
- User accesses Oracle EBS URL
- EBS redirects to EBS Asserter
- EBS Asserter redirects to IDCS for authentication
- IDCS offers login options: IDCS native or federated AD (via ADFS or AD Bridge)
- User authenticates with Active Directory credentials
- ADFS sends SAML assertion to IDCS
- IDCS validates assertion and issues OAuth token
- EBS Asserter exchanges token for EBS session cookie
- User is logged into EBS — SSO complete!
Prerequisites — What You Need Before Starting
1. Oracle Identity Cloud Service (IDCS) Instance
You need an active IDCS tenant. If you don't have one:
- OCI Tenancy with IDCS — comes free with Oracle Cloud Free Tier
- Standalone IDCS subscription — available via Oracle sales
Check your IDCS URL format:https://<tenant-name>.identity.oraclecloud.com
Example: https://mycompany.identity.oraclecloud.com
2. Oracle E-Business Suite Environment
Supported EBS Versions:
- Oracle EBS Release 11i (11.5.10) — with latest patches
- Oracle EBS Release 12.1.3 or later — with latest patches
- Oracle EBS Release 12.2.x — recommended
Important: EBS must NOT be integrated with OAM, OID, or any other SSO solution. If it is, remove the integration first.
Verify EBS is accessible via HTTPS (required for IDCS SSO):
https://ebs.example.com/OA_HTML/AppsLogin
3. Separate Oracle WebLogic Server 12c for EBS Asserter
Do NOT use the EBS application server for EBS Asserter. Deploy it on a dedicated WebLogic instance.
Supported Versions:
- Oracle WebLogic Server 12.1.3
- Oracle WebLogic Server 12.2.x
- Oracle WebLogic Server 14.1.1 (14c)
Java Requirements:
- Java SE Development Kit 8 (JDK 8) or Java EE 8
Domain Requirement:
⚠️ Critical: The EBS Asserter WebLogic server hostname and EBS application server hostname must be in the same domain for SSO to work.
✅ Correct:
- EBS Asserter:
https://ebsasserter.example.com - EBS Apps:
https://ebs.example.com
❌ Wrong:
- EBS Asserter:
https://ebsasserter.mydomain.com - EBS Apps:
https://ebs.anotherdomain.com
4. Microsoft Active Directory (Optional but Recommended)
If you want users to log in with their corporate AD credentials:
- Active Directory Domain Services (Windows Server 2012 R2 or later)
- Active Directory Federation Services (ADFS) — for SAML 2.0 federation
- OR Oracle IDCS AD Bridge — for direct user sync from AD to IDCS
5. IDCS Administrator Role
You need the Identity Domain Administrator or Security Administrator role in IDCS to:
- Register the EBS Asserter application
- Configure AD federation
- Manage users and policies
6. EBS Application DBA Access
You need SYSADMIN access in EBS to:
- Create the EBS Asserter service user
- Register the asserter application server
- Update user email addresses
7. Time Synchronization
⚠️ Critical: Ensure server clocks are synchronized across:
- EBS Asserter WebLogic server
- EBS Application server
- Active Directory server
Use NTP (Network Time Protocol) to sync all servers. SAML assertions are time-sensitive and will fail if clocks drift more than 5 minutes.
# Check time on Linux
date
timedatectl status
# Enable NTP sync
sudo systemctl enable chronyd
sudo systemctl start chronyd
Planning Checklist — Before You Start
Before touching any system, complete this planning checklist:
1. Network and Firewall
Ensure network connectivity:
| Source | Destination | Port | Protocol | Purpose |
|---|---|---|---|---|
| EBS Asserter WebLogic | EBS DB | 1521 | TCP | JDBC connection to APPS schema |
| EBS Asserter WebLogic | IDCS | 443 | HTTPS | OAuth token exchange |
| User Browser | EBS Asserter | 443 | HTTPS | SSO login |
| User Browser | IDCS | 443 | HTTPS | Authentication |
| IDCS | ADFS (if used) | 443 | HTTPS | SAML federation |
| AD Bridge (if used) | AD Domain Controller | 389/636 | LDAP/LDAPS | User sync |
2. DNS Resolution
Verify DNS resolution from all servers:
nslookup ebs.example.com
nslookup ebsasserter.example.com
nslookup mycompany.identity.oraclecloud.com
nslookup adfs.example.com
3. SSL Certificates
You need valid SSL certificates for:
- EBS Asserter WebLogic Server — signed by a trusted CA (not self-signed)
- EBS Application Server — signed by a trusted CA
- ADFS Server (if used) — signed by a trusted CA
Self-signed certificates will cause SSO failures.
4. User Identity Mapping
Decide how users will be matched between IDCS and EBS:
| Attribute | EBS Column | IDCS Attribute | Recommended |
|---|---|---|---|
FND_USERS.EMAIL_ADDRESS | email | ✅ Yes (most reliable) | |
| Username | FND_USERS.USER_NAME | username | ⚠️ Only if usernames match exactly |
Best Practice: Use email address as the unique identifier. Ensure every EBS user has a valid email in FND_USERS.EMAIL_ADDRESS.
5. Backup
Take backups before starting:
# Backup EBS database
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
# Backup EBS configuration files
tar -czf ebs_config_backup_$(date +%Y%m%d).tar.gz $INST_TOP/appl
# Backup WebLogic domain
tar -czf wls_domain_backup_$(date +%Y%m%d).tar.gz $DOMAIN_HOME
6. Downtime Planning
No EBS downtime is required for this integration. The EBS Asserter is deployed externally, and you can test the integration before switching users to SSO.
Estimated implementation time: 6–8 hours
Part 1: Download and Prepare EBS Asserter
Step 1: Download EBS Asserter from IDCS
Sign in to Oracle Identity Cloud Service console:
https://<tenant-name>.identity.oraclecloud.com/ui/v1/adminconsoleClick the Navigation Menu (≡), expand Settings, and click Downloads.
On the Downloads page, locate Identity Cloud Service E-Business Suite Asserter, and click Download.
Save the zip file:
idcs-ebs-asserter-<version>.zipExample:
idcs-ebs-asserter-19.1.4-1.2.2.zipExtract the zip file on your desktop:
unzip idcs-ebs-asserter-19.1.4-1.2.2.zipInside the extracted folder, you'll find:
ebs.war— the EBS Asserter Java applicationidcs-wallet-<version>.jar— wallet creation utilityfndext.jar— EBS FND libraryREADME.txt— installation guide
Copy
ebs.war,idcs-wallet-<version>.jar, andfndext.jarto a working directory on the EBS Asserter WebLogic server:mkdir -p /opt/ebssdk cd /opt/ebssdk # Copy files from your desktop to the WebLogic server scp ebs.war oracle@ebsasserter.example.com:/opt/ebssdk/ scp idcs-wallet-*.jar oracle@ebsasserter.example.com:/opt/ebssdk/ scp fndext.jar oracle@ebsasserter.example.com:/opt/ebssdk/
Step 2: Copy fndext.jar to WebLogic Domain
The fndext.jar library is needed for EBS API calls.
# Log in to EBS Asserter WebLogic server
ssh oracle@ebsasserter.example.com
cd /opt/ebssdk
# Copy fndext.jar to WebLogic domain lib folder
cp fndext.jar $DOMAIN_HOME/lib/
# Verify
ls -lh $DOMAIN_HOME/lib/fndext.jar
Note: Replace $DOMAIN_HOME with your WebLogic domain path, e.g., /u01/app/oracle/middleware/user_projects/domains/ebsasserter_domain
Part 2: Configure Oracle E-Business Suite
Step 3: Create EBS Asserter Service User in EBS
The EBS Asserter needs a service account to communicate with the EBS database (APPS schema).
Log in to Oracle E-Business Suite as
SYSADMIN:https://ebs.example.com/OA_HTML/AppsLoginNavigate to: User Management → Users
Select User Account from the Register dropdown, and click Go.
In the Create User Account page, enter:
Field Value User Name EBSASSERTERPassword <Strong_Password>Description EBS Asserter Service AccountPassword Expire None Click Submit.
After the success message appears, click Assign Roles.
In the Assign Roles window, search by Code:
UMX|APPS_SCHEMA_CONNECTSelect Apps Schema Connect Role and click Select.
Provide justification:
EBS Asserter Service Account, and click Save.Log out from EBS and log back in as
EBSASSERTERto activate the account and set the password.
Note: Store the EBSASSERTER password securely — you'll need it later for the JDBC datasource configuration.
Step 4: Update SYSADMIN Email Address in EBS
IDCS matches users by email address. Ensure the SYSADMIN user has a valid email in EBS.
Log in to EBS as
SYSADMIN.Navigate to: User Management → Users
Search for User Name:
SYSADMIN, and click the Update icon.Update the Email field with a valid email address (e.g.,
sysadmin@example.com).Click Apply.
Important: Use the same email address when creating the SYSADMIN user in IDCS in the next section.
Step 5: Register EBS Asserter Application Server with EBS
The EBS Asserter must be registered as a trusted application server in EBS.
Log in to the EBS database server as the
oracleuser.Source the EBS environment file:
source /u01/install/VISION/EBSapps.envNote: Replace
/u01/install/VISION/EBSapps.envwith your actual EBS environment file path. Find it with:find /u01 -name "EBSapps.env"Locate the
.dbcfile for your EBS instance:cd $FND_SECURE ls -lh *.dbcExample output:
VISION_ebs.dbcNote the full path including the filename:
echo $FND_SECURE/VISION_ebs.dbcExample:
/u01/install/VISION/fs1/inst/apps/VISION_ebs/appl/fnd/12.0.0/secure/VISION_ebs.dbcCopy
fndext.jarto a working directory on the EBS server:mkdir -p /opt/ebssdk cd /opt/ebssdk # Copy fndext.jar from the EBS Asserter package scp oracle@ebsasserter.example.com:/opt/ebssdk/fndext.jar .Register the EBS Asserter application server:
cd /opt/ebssdk java oracle.apps.fnd.security.AdminDesktop apps/<APPS_PASSWORD> \ CREATE NODE_NAME=ebsasserter.example.com \ DBC=/u01/install/VISION/fs1/inst/apps/VISION_ebs/appl/fnd/12.0.0/secure/VISION_ebs.dbcReplace:
<APPS_PASSWORD>— your EBS APPS schema passwordebsasserter.example.com— your EBS Asserter WebLogic server hostname- DBC path — your actual
.dbcfile path
Expected Output:
Registering ebsasserter.example.com... Successfully created node ebsasserter.example.com with APPL_SERVER_ID: 1234Note the
APPL_SERVER_ID— you'll need it for thebridge.propertiesfile.Verify the registration created a new
.dbcfile:cd $FND_SECURE ls -lh ebsasserter*.dbcExample output:
ebsasserter.example.com_VISION.dbcView the
APPL_SERVER_IDvalue inside the new.dbcfile:cat ebsasserter.example.com_VISION.dbc | grep APPL_SERVER_IDExample output:
APPL_SERVER_ID=1234Copy the new
.dbcfile to the EBS Asserter WebLogic server:scp ebsasserter.example.com_VISION.dbc oracle@ebsasserter.example.com:/opt/ebssdk/
Part 3: Register EBS Asserter in IDCS
Step 6: Create SYSADMIN User in IDCS
Create a user in IDCS that matches the SYSADMIN user in EBS.
Sign in to IDCS console:
https://<tenant-name>.identity.oraclecloud.com/ui/v1/adminconsoleClick Navigation Menu (≡), and select Users.
Click Add.
In the Add User dialog, enter:
Field Value First Name EBSLast Name SysadminUser Name sysadminEmail sysadmin@example.com← same email as EBSUncheck ☐ Use the email address as the user name Click Finish.
Important: The email address must match exactly with the email in FND_USERS.EMAIL_ADDRESS for the SYSADMIN user in EBS.
Step 7: Register EBS Asserter as Confidential Application in IDCS
In the IDCS console, click Navigation Menu (≡), and select Applications.
Click Add.
Select Confidential Application.
In the Details tab, enter:
Field Value Name EBS AsserterDescription EBS Asserter for SSOApplication URL https://ebsasserter.example.com/ebsDisplay in My Apps ☑ Yes Click Next.
In the Client tab:
☑ Configure this application as a client now
Allowed Grant Types:
- ☑ Client Credentials
- ☑ Authorization Code
Redirect URL:
https://ebsasserter.example.com/ebs/responseLogout URL:
https://ebsasserter.example.com/ebs/logoutPost Logout Redirect URL:
https://ebsasserter.example.com/ebs
Scroll down to Grant the client access to Identity Cloud Service Admin APIs.
Click Add.
In the Add App Role dialog, select:
- ☑ Authenticator Client
- ☑ Me
Click Add.
Click Next through the remaining tabs (Resources, Web Tier Policy, Authorization, Trust).
Click Finish.
In the Application Added dialog:
Copy and save the Client ID
Example:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6Copy and save the Client Secret
Example:A1B2-C3D4-E5F6-G7H8-I9J0K1L2M3N4
⚠️ Important: Store these securely — you'll need them to create the wallet.
Click Close.
Click Activate to activate the application.
In the Activate Application dialog, click Activate Application.
Success message: The EBS Asserter application has been activated.
Part 4: Create IDCS Wallet for EBS Asserter
The EBS Asserter stores the IDCS Client ID, Client Secret, and IDCS Base URL in an encrypted wallet for security.
Step 8: Create the Wallet
Log in to the EBS Asserter WebLogic server:
ssh oracle@ebsasserter.example.comNavigate to the working directory:
cd /opt/ebssdkRun the wallet creation utility:
java -jar idcs-wallet-<version>.jarExample:
java -jar idcs-wallet-19.1.4.jarThe utility prompts for the following values:
Prompt 1: Enter Wallet Path
Enter Wallet Path: /opt/ebssdk/walletPrompt 2: Enter Client ID
Enter Client ID: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6Prompt 3: Enter Client Secret
Enter Client Secret: A1B2-C3D4-E5F6-G7H8-I9J0K1L2M3N4Prompt 4: Enter IDCS base URL
Enter IDCS base URL: https://mycompany.identity.oraclecloud.comNote: Use your actual IDCS tenant URL.
The wallet file
cwallet.ssois created in/opt/ebssdk/wallet/.Verify:
ls -lh /opt/ebssdk/wallet/cwallet.ssoExpected output:
-rw------- 1 oracle oinstall 2.5K Oct 14 10:30 /opt/ebssdk/wallet/cwallet.sso
Security Note: Protect the wallet file with restrictive permissions (600 or 400).
chmod 400 /opt/ebssdk/wallet/cwallet.sso
Part 5: Configure and Deploy EBS Asserter WAR File
Step 9: Update bridge.properties Configuration File
The bridge.properties file inside ebs.war contains all the EBS Asserter configuration parameters.
Log in to the EBS Asserter WebLogic server:
ssh oracle@ebsasserter.example.com cd /opt/ebssdkExtract the contents of
ebs.war:mkdir ebs-war-extract cd ebs-war-extract jar -xvf ../ebs.warNavigate to the
WEB-INFfolder:cd WEB-INFOpen
bridge.propertiesfor editing:vi bridge.propertiesUncomment and update the following parameters:
########################################################### ## SSO Bridge for E-Business Suite ########################################################### app.url=https://ebsasserter.example.com/ebs app.serverid=1234 ebs.url.homepage=https://ebs.example.com/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE ebs.ds.name=ebsDS ebs.user.identifier=email idcs.iss.url=https://identity.oraclecloud.com idcs.aud.url=https://mycompany.identity.oraclecloud.com wallet.path=/opt/ebssdk/wallet/cwallet.sso whitelist.urls=/OA_HTML/RF.jsp,/OA_HTML/OA.jsp,/OA_HTML/BneApplicationService ebs.renew.session=true proxy.mode=false ###########################################################Parameter Descriptions:
Parameter Value Description app.urlhttps://ebsasserter.example.com/ebsEBS Asserter URL app.serverid1234APPL_SERVER_ID from Step 5 ebs.url.homepagehttps://ebs.example.com/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGEEBS home page URL ebs.ds.nameebsDSJDBC DataSource name (you'll create this in WebLogic) ebs.user.identifieremailMatch users by email (recommended) idcs.iss.urlhttps://identity.oraclecloud.comIDCS issuer URL (fixed) idcs.aud.urlhttps://mycompany.identity.oraclecloud.comYour IDCS tenant URL wallet.path/opt/ebssdk/wallet/cwallet.ssoFull path to wallet whitelist.urls/OA_HTML/RF.jsp,/OA_HTML/OA.jsp,...Allowed EBS URLs ebs.renew.sessiontrueAuto-renew EBS Forms session Save and exit.
Rebuild the
ebs.warfile with the updatedbridge.properties:cd /opt/ebssdk/ebs-war-extract jar -cvf ../ebs-updated.war *Verify the updated WAR file was created:
ls -lh /opt/ebssdk/ebs-updated.war
Step 10: Create JDBC DataSource in WebLogic for EBS Database
The EBS Asserter needs a JDBC connection to the EBS database (APPS schema).
Log in to the WebLogic Server Administration Console:
http://ebsasserter.example.com:7001/consoleCredentials: WebLogic admin username/password
In the left Domain Structure panel, expand Services, and click Data Sources.
Click New → Generic Data Source.
Enter the following:
Field Value Name ebsDS← same asebs.ds.namein bridge.propertiesJNDI Name jdbc/ebsDSDatabase Type OracleClick Next.
Select Oracle's Driver (Thin) for Instance connections; Versions:Any and click Next.
Uncheck Supports Global Transactions and click Next.
Enter the EBS database connection details:
Field Value Database Name VISION← your EBS DB SIDHost Name ebs-db.example.com← EBS DB serverPort 1521Database User Name EBSASSERTER← service user from Step 3Password <EBSASSERTER_password>Confirm Password <EBSASSERTER_password>Click Next.
Click Test Configuration.
Expected output:
Connection test succeeded.✅ If successful, click Next.
❌ If it fails, verify:
- EBS database is running
- Firewall allows port 1521 from WebLogic to EBS DB
EBSASSERTERuser credentials are correcttnsnames.orais not required for Thin driver
Select the EBSAsserter_server managed server (or your target managed server), and click Finish.
Click Activate Changes.
Step 11: Deploy ebs.war to WebLogic
In the WebLogic console, click Deployments in the left panel.
Click Install.
Click Upload your file(s).
Click Browse and select
/opt/ebssdk/ebs-updated.war.Click Next.
Select Install this deployment as an application, and click Next.
Select the EBSAsserter_server managed server as the target, and click Next.
Click Finish.
Click Activate Changes.
In the Deployments page, select the ebs-updated application.
Click Start → Servicing all requests.
Confirm the State column shows Active.
Step 12: Verify EBS Asserter Deployment
Test that the EBS Asserter is running:
curl -k https://ebsasserter.example.com/ebs
Expected output: You should be redirected to IDCS login page or see an HTML response (not a 404 error).
If you get a 404, check:
# Check WebLogic managed server logs
tail -f $DOMAIN_HOME/servers/EBSAsserter_server/logs/EBSAsserter_server.log
# Look for deployment errors
grep -i "error\|exception" $DOMAIN_HOME/servers/EBSAsserter_server/logs/EBSAsserter_server.log
Part 6: Integrate Microsoft Active Directory with IDCS
Now that EBS and IDCS are configured, let's add Active Directory so users can log in with their corporate AD credentials.
You have two options:
- AD Federation via ADFS (SAML 2.0) — users log in through ADFS
- AD Bridge — direct user sync from AD to IDCS
Recommended: Use ADFS if you already have it deployed. Use AD Bridge if you want automated user provisioning.
Option A: Federate IDCS with Active Directory Federation Services (ADFS)
This section covers SAML 2.0 federation between IDCS and Microsoft ADFS.
Step 13: Download ADFS Metadata
Access your ADFS Federation Metadata URL:
https://adfs.example.com/FederationMetadata/2007-06/FederationMetadata.xmlReplace
adfs.example.comwith your actual ADFS server hostname.Save the file as
FederationMetadata.xml.
Step 14: Register ADFS as Identity Provider in IDCS
Sign in to IDCS console.
Click Navigation Menu (≡) → Security → Identity Providers.
Click Add SAML IDP.
Enter:
Field Value Name Active Directory FederationDescription Corporate AD SAML SSOClick Next.
Select Import Identity Provider metadata.
Click Upload, select
FederationMetadata.xml, and click Open.Click Next.
Configure the User Mapping:
Field Value Oracle Identity Cloud Service User Attribute Primary Email AddressRequested NameID Format Email AddressClick Next.
Click Finish.
Do NOT activate yet — we need to complete the ADFS side first.
Step 15: Download IDCS Metadata for ADFS
In the IDCS console, click Navigation Menu (≡) → Settings → Default Settings.
Turn ON the Access Signing Certificate option.
Click Save.
Download the IDCS SAML Metadata:
https://<tenant-name>.identity.oraclecloud.com/fed/v1/metadataExample:
https://mycompany.identity.oraclecloud.com/fed/v1/metadataSave the file as
IDCS_Metadata.xml.Copy the file to your ADFS server (Windows Server).
Step 16: Register IDCS as Relying Party in ADFS
Log in to the Windows Server where ADFS is installed.
Open Server Manager → Tools → AD FS Management.
In the AD FS console, expand Trust Relationships, right-click Relying Party Trusts, and select Add Relying Party Trust.
Click Start.
Select Import data about the relying party from a file, and browse to
IDCS_Metadata.xml.Click Next.
Enter Display name:
Oracle Identity Cloud ServiceClick Next.
Select Permit all users to access this relying party.
Click Next → Next → Close.
Step 17: Configure Claim Rules in ADFS
ADFS needs to send the user's email address as the NameID claim.
In the AD FS Management console, right-click Oracle Identity Cloud Service relying party, and select Edit Claim Issuance Policy.
Click Add Rule.
Select Send LDAP Attributes as Claims and click Next.
Enter:
Field Value Claim rule name EmailAttribute store Active DirectoryLDAP Attribute E-Mail-AddressesOutgoing Claim Type E-Mail AddressClick Finish.
Click Add Rule again.
Select Transform an Incoming Claim and click Next.
Enter:
Field Value Claim rule name Name IDIncoming claim type E-Mail AddressOutgoing claim type Name IDOutgoing name ID format EmailClick Finish → OK.
Step 18: Test and Activate ADFS Identity Provider in IDCS
Return to IDCS console → Security → Identity Providers.
Click the Active Directory Federation IdP.
Click Test Login.
You are redirected to ADFS login page.
Enter your Active Directory credentials (e.g.,
csaladna@example.com).If authentication succeeds, you'll see: Connection Successful.
✅ If successful:
- Click Close
- Click Activate
- Click Show on Login Page
❌ If it fails:
- Click Show Assertion Details to see the SAML error
- Verify claim rules are correct in ADFS
- Check ADFS event logs (Server Manager → AD FS → Events)
Add the IdP to the Default Identity Provider Policy:
- Navigate to Security → IDP Policies
- Click Default Identity Provider Policy
- Click the Identity Providers tab
- Click Assign
- Select Active Directory Federation and click OK
Done! ADFS is now federated with IDCS.
Option B: Configure AD Bridge for Direct User Sync
If you don't have ADFS, use the IDCS AD Bridge to sync users directly from Active Directory to IDCS.
Step 19: Download and Install AD Bridge
In the IDCS console, click Navigation Menu (≡) → Settings → Directory Integrations.
Click Add.
Select Microsoft Active Directory.
Enter:
Field Value Name Corporate AD BridgeDescription User sync from on-premises ADClick Download to download the AD Bridge installer (
IDCSIntegration.zip).Copy the zip file to a Windows Server that has network access to your Active Directory Domain Controller.
Extract the zip file and run the installer:
IDCSIntegration.exeFollow the wizard:
- Accept the license
- Select installation directory (e.g.,
C:\Oracle\IDCSBridge) - Enter IDCS Tenant URL:
https://mycompany.identity.oraclecloud.com - Enter IDCS Admin Username and Password
- Click Install
After installation completes, the IDCS Bridge Configuration tool opens.
Step 20: Configure AD Bridge Synchronization
In the IDCS Bridge Configuration tool, click Configure.
Enter the Active Directory connection details:
Field Value AD Server ad.example.comPort 389(LDAP) or636(LDAPS — recommended)Base DN DC=example,DC=comBind DN CN=IDCSSync,CN=Users,DC=example,DC=comPassword <service_account_password>Note: Create a dedicated AD service account (
IDCSSync) with Read permissions on user objects.Click Test Connection.
✅ Expected: "Connection successful"
Click Next.
Select the Organizational Units (OUs) to sync:
- ☑
OU=Employees,DC=example,DC=com - ☑
OU=Contractors,DC=example,DC=com
- ☑
Click Next.
Configure Attribute Mapping:
AD Attribute IDCS Attribute sAMAccountNameuserNamemailemailgivenNamefirstNamesnlastNameClick Next.
Select Synchronization Schedule:
- ☑ Enable scheduled sync
- Frequency: Every 1 hour
Click Finish.
Click Run Sync Now to perform the initial synchronization.
Monitor the sync progress in the Logs tab.
Verification:
- In the IDCS console, click Users.
- You should see users from Active Directory synced to IDCS.
Part 7: Test the Complete SSO Flow
Step 21: Assign EBS Asserter Application to Test User
In IDCS console, click Applications.
Click EBS Asserter.
Click the Application Users tab.
Click Assign.
Search for a test user (e.g.,
sysadminor an AD-synced user).Select the user and click OK.
Step 22: Test SSO Login
Open a new private/incognito browser window.
Access the EBS Asserter URL:
https://ebsasserter.example.com/ebsYou are redirected to the IDCS login page.
If ADFS federation is enabled, you'll see:
- Sign in with Oracle Identity Cloud Service (IDCS native login)
- Sign in with Active Directory Federation (ADFS login)
Click Sign in with Active Directory Federation.
You are redirected to ADFS login page.
Enter your Active Directory credentials (e.g.,
csaladna@example.com).After successful authentication, you are redirected back to IDCS.
IDCS validates the SAML assertion and redirects to EBS Asserter.
EBS Asserter creates an EBS session cookie and redirects to Oracle E-Business Suite.
Oracle EBS Home page opens — you are logged in!
✅ Success! SSO is working end-to-end:
User → EBS Asserter → IDCS → ADFS → Active Directory → IDCS → EBS Asserter → EBS
Step 23: Test Logout
In Oracle EBS, click Logout.
You are redirected to EBS Asserter logout → IDCS logout.
IDCS clears the session and redirects to the IDCS login page.
Try accessing EBS again — you are prompted to log in (session is cleared).
✅ Logout works correctly.
Troubleshooting — Common Errors and Fixes
⚠️ Issue 1: "Connection to IDCS failed" in EBS Asserter
Root Cause: Wallet path is incorrect or wallet file is missing.
Fix:
Check the bridge.properties wallet path:
cd /opt/ebssdk/ebs-war-extract/WEB-INF
grep wallet.path bridge.properties
Verify the wallet file exists:
ls -lh /opt/ebssdk/wallet/cwallet.sso
If missing, recreate the wallet (Step 8).
⚠️ Issue 2: "JDBC DataSource not found" Error
Root Cause: The ebs.ds.name in bridge.properties does not match the JNDI name in WebLogic.
Fix:
Check the DataSource JNDI name in WebLogic console: Services → Data Sources → ebsDS.
Update
bridge.properties:ebs.ds.name=ebsDSRebuild
ebs.warand redeploy (Steps 9–11).
⚠️ Issue 3: "User not found in EBS" After SSO Login
Root Cause: Email address mismatch between IDCS and EBS.
Fix:
Check the user's email in IDCS:
- IDCS console → Users → search for the user
- Note the Email field
Check the user's email in EBS:
SQL> SELECT user_name, email_address FROM fnd_users WHERE user_name = 'SYSADMIN';Ensure they match exactly (case-insensitive).
If they don't match, update EBS:
SQL> UPDATE fnd_users SET email_address = 'sysadmin@example.com' WHERE user_name = 'SYSADMIN'; SQL> COMMIT;
⚠️ Issue 4: ADFS SAML Assertion Fails ("Connection Failed" in IDCS)
Root Cause: SAML claim rules are incorrect in ADFS.
Fix:
In IDCS, click the failed test and click Show Assertion Details.
Look for the
<samlp:Status>error message.Common errors:
Error Cause Fix urn:oasis:names:tc:SAML:2.0:status:RequesterMissing NameID claim Verify Name ID transform claim rule in ADFS No email attributeEmail claim not sent Verify Email LDAP attribute claim rule in ADFS Time mismatchServer clocks out of sync Sync clocks with NTP on ADFS and IDCS Fix the claim rules in ADFS (Step 17) and retest.
⚠️ Issue 5: "Internal Server Error" in EBS Asserter
Root Cause: Missing or incorrect APPL_SERVER_ID in bridge.properties.
Fix:
Check the
.dbcfile for the correctAPPL_SERVER_ID:cat /opt/ebssdk/ebsasserter.example.com_VISION.dbc | grep APPL_SERVER_IDUpdate
bridge.properties:app.serverid=1234Rebuild
ebs.warand redeploy.
⚠️ Issue 6: EBS Asserter and EBS Not in Same Domain
Symptom: SSO login succeeds, but EBS shows the login page again (no session cookie).
Root Cause: Cookies cannot be shared across different domains.
Fix:
Ensure both hostnames are in the same domain:
✅ Correct:
- EBS Asserter:
ebsasserter.example.com - EBS:
ebs.example.com
❌ Wrong:
- EBS Asserter:
ebsasserter.domain1.com - EBS:
ebs.domain2.com
If they're in different domains, you must reconfigure DNS or use a reverse proxy.
⚠️ Issue 7: AD Bridge Sync Fails
Root Cause: Insufficient AD permissions for the sync service account.
Fix:
In Active Directory Users and Computers, right-click the Base DN (e.g.,
DC=example,DC=com).Select Properties → Security → Advanced.
Click Add and select the IDCSSync service account.
Grant the following permissions:
- ☑ Read all properties
- ☑ Read permissions
- ☑ List contents
Click OK and retry the sync.
Best Practices — Production Deployment
1. Use SSL/TLS Everywhere
All communication must be encrypted:
- EBS Asserter WebLogic → HTTPS only
- EBS Application → HTTPS only
- ADFS → HTTPS only
Use valid SSL certificates signed by a trusted CA (not self-signed).
2. Enable MFA in IDCS
Add an extra layer of security:
- In IDCS console, navigate to Security → MFA.
- Enable Time-Based One-Time Password (TOTP) or SMS.
- Assign MFA enrollment to users.
3. Configure Sign-On Policies
Restrict access based on IP, device, or risk:
- Navigate to Security → Sign-On Policies.
- Create a policy for EBS Asserter application.
- Add rules:
- Require MFA if user is outside corporate network
- Block sign-in from blacklisted countries
4. Monitor IDCS Audit Logs
Track authentication events:
- Navigate to Reports → Audit Reports.
- Export logs to a SIEM (e.g., Splunk, Oracle Management Cloud).
5. High Availability for EBS Asserter
Deploy multiple EBS Asserter instances behind a load balancer:
- Load Balancer (F5, OHS, OCI Load Balancer) →
ebsasserter.example.com - EBS Asserter 1 → WebLogic Managed Server 1
- EBS Asserter 2 → WebLogic Managed Server 2
Session affinity (sticky sessions) is not required — IDCS handles session state.
6. Backup the Wallet
The wallet contains the IDCS credentials. Back it up securely:
cp /opt/ebssdk/wallet/cwallet.sso /backup/cwallet.sso.$(date +%Y%m%d)
chmod 400 /backup/cwallet.sso.*
7. Test Regularly
Schedule quarterly SSO testing:
- Test login with IDCS native users
- Test login with AD-federated users
- Test logout flow
- Test MFA enrollment and authentication
- Verify AD Bridge sync is running
8. Keep EBS Asserter Updated
Oracle releases new versions of the EBS Asserter with bug fixes and new features. Check for updates quarterly in IDCS console → Settings → Downloads.
9. Document Your Configuration
Create a runbook that includes:
- EBS Asserter server details (hostname, IP, WebLogic version)
- IDCS tenant URL and Client ID
- ADFS server details
- Firewall rules
- DNS entries
- Service account credentials (stored securely)
Summary
Congratulations! You've successfully integrated Oracle Identity Cloud Service (IDCS) with Oracle E-Business Suite and Active Directory for Single Sign-On. Here's what you accomplished:
- Downloaded and prepared the EBS Asserter package
- Created the EBS Asserter service account in EBS
- Registered the EBS Asserter application server with EBS
- Registered EBS Asserter as a confidential application in IDCS
- Created an encrypted wallet for IDCS credentials
- Configured and deployed the EBS Asserter WAR file to WebLogic
- Federated IDCS with Active Directory using ADFS or AD Bridge
- Tested the complete SSO flow — EBS → IDCS → AD → EBS
- Troubleshot common errors and verified production readiness
Users can now log in to Oracle E-Business Suite using their corporate Active Directory credentials through a simple, cloud-managed SSO solution — no OAM or OID required.
This integration gives you:
- Simplified architecture — fewer moving parts
- Centralized identity management — one place to manage users
- Enhanced security — MFA, adaptive policies, audit logs
- Cloud-native scalability — IDCS handles high availability
- Hybrid flexibility — works with EBS on-premises or in OCI
Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs
If you like this post please follow, share and comment
FAQ
Q1: Can I use IDCS with EBS 11i?
Yes, EBS Asserter supports Oracle E-Business Suite Release 11i (11.5.10) with the latest patches applied. However, Oracle recommends upgrading to EBS 12.2 for the best experience.
Q2: Do I need to remove my existing OAM/OID integration before using IDCS?
Yes. EBS cannot be integrated with both OAM/OID and IDCS simultaneously. You must remove the OAM/OID integration, restart the EBS application tier, and then proceed with IDCS integration.
Q3: Can I use IDCS with EBS running on OCI?
Absolutely. IDCS works seamlessly with EBS deployed on Oracle Cloud Infrastructure (OCI), including EBS Cloud Manager provisioned instances.
Q4: What if my users have different usernames in AD and EBS?
Use email address as the unique identifier (ebs.user.identifier=email in bridge.properties). Ensure every user has a valid, matching email in both AD and EBS (FND_USERS.EMAIL_ADDRESS).
Q5: Can I enforce MFA for only certain users?
Yes. In IDCS, create a Sign-On Policy specific to the EBS Asserter application. Add rules to require MFA for specific groups (e.g., EBS_Admins) or network conditions (e.g., outside corporate IP range).
Q6: How do I upgrade the EBS Asserter to a new version?
Download the latest EBS Asserter from IDCS console → Settings → Downloads. Extract the new ebs.war, update bridge.properties with your existing configuration, rebuild the WAR, and redeploy it to WebLogic. No EBS downtime is required.
Q7: Can I use Google Workspace or Okta instead of Active Directory?
Yes. IDCS supports SAML 2.0 federation with any SAML-compliant IdP, including Google Workspace, Okta, Azure AD, Ping Identity, and others. The integration steps are similar to ADFS (download metadata, register as IdP, configure claim mapping).

Post a Comment
Post a Comment