Showing posts with label Oracle E-Business Suite EBS. Show all posts
Showing posts with label Oracle E-Business Suite EBS. Show all posts

Tuesday, April 7, 2026

Configuring Oracle EBS Integrated SOA Gateway (ISG) REST services in 12.2

 

Phase 1: Prerequisites & Patching

Step 1: Confirm ISG Availability

  • ISG is included by default in Oracle EBS 12.2
  • No separate installation required

Step 2: Apply Required Patches

2.1 Check applied patches

Run:

SELECT bug_number
FROM ad_bugs
WHERE bug_number IN ('relevant ISG patch numbers');

2.2 Apply missing patches

Run adop:

. ~/EBSapps.env run
adop phase=prepare

Then apply:

  • ISG Consolidated Patch
  • Latest AD & TXK Delta patches
  • Required WebLogic patches

👉 Follow standard online patching cycle:

adop phase=apply
adop phase=finalize
adop phase=cutover
adop phase=cleanup

🔷 Phase 2: Core Configuration

Step 3: Change Signon Profile Options (Conditional)

  1. Login as SYSADMIN
  2. Navigate:

    System Administrator → Profile → System
  3. Query:

    Signon Password%
  4. Update:
Profile OptionLevelValue
Signon Password Hard To GuessISGADMIN userNo
Signon Password LengthISGADMIN user8
Signon Password CustomSiteNULL

📌 Required because ISG setup script generates passwords that may violate policies.


Step 4: Create GLOBAL User

  1. Navigate:

    Security → User → Define
  2. Create:
    • Username: GLOBAL
    • Description: ISG Setup User
  3. Run concurrent request:

    Workflow Directory Services User/Role Validation

Step 5: Increase WebLogic Timeout

  1. Edit:
$FMW_HOME/webtier/instances/<instance>/config/OHS/<ohs>/mod_wl_ohs.conf
  1. Add/update:
<Location /webservices>
WLIOTimeoutSecs 900
</Location>

📌 Prevents REST service timeout.


Step 6: Increase OAFM Heap Size

  1. Login to WebLogic Admin Console
  2. Navigate:

    Environment → Servers → oafm_server1
  3. Click Lock & Edit
  4. Go to:

    Server Start → Arguments
  5. Set:
-Xms4096m -Xmx4096m
  1. Save → Activate → Restart OAFM

Step 7: Run ISG REST Setup Script

👉 Run on WebLogic Admin node only

7.1 (Optional) Stop Concurrent Managers

. ~/EBSapps.env run
cd $ADMIN_SCRIPTS_HOME
./adcmctl.sh abort apps/<password>

7.2 Run script

cd /tmp
perl $FND_TOP/patch/115/bin/ISGRestSetup.pl

📌 Important:

  • Script restarts services automatically
  • Do NOT run on all nodes

Step 8: Configure ISG Data Source

  1. Login to WebLogic Console
  2. Navigate:

    Services → Data Sources → ISGDatasource
  3. Go to:

    Connection Pool → Advanced
  4. Configure:
ParameterValue
Test Connections On ReserveEnabled
Test Frequency120
Test Table NameSQL SELECT 1 FROM DUAL
Seconds to Trust Idle Connection0

Step 9: Synchronize File Systems

Run:

adop phase=fs_clone workers=4

📌 Ensures patch and run file systems are aligned.


Step 10: Restore Signon Profile Options

  • Revert Step 3 changes
  • Optional: Keep relaxed settings for ISGADMIN user

🔷 Phase 3: Enable REST & Validation

Step 11: Enable Token-Based Authentication

Set profile option:

FND: Authn Service Token Scope = Header and Body

Step 12: Test REST Login Service

Open:

https://<host>:<port>/webservices/rest/login

Example:

https://r122.localdomain:4443/webservices/rest/login
  • Enter credentials
  • Verify response is returned

🔷 Phase 4: Post Configuration (Implicit in Guide)

Step 13: Verify Services

  • Confirm:
    • OAFM is running
    • WebLogic Admin/Managed servers up
    • No errors in logs

Step 14: Start/Restart Services (if needed)

adstrtal.sh apps/<password>

✅ Final Execution Flow (Concise)

  1. Apply required patches
  2. Modify Signon profiles
  3. Create GLOBAL user
  4. Update WebLogic timeout
  5. Increase OAFM heap
  6. Run ISGRestSetup.pl
  7. Configure ISGDatasource
  8. Run fs_clone
  9. Restore profiles
  10. Enable token auth
  11. Test REST service

⚠️ Key Notes

  • ISG is configuration-driven, not installation-based
  • Script execution restarts application tier
  • Always run script from Admin node only
  • Required for REST service enablement in Integration Repository

Tuesday, January 6, 2026

EBS 12.2 setup in DMZ for iRecruitement/iProcurement/iSupplier Portal

 Below is a clear, step-by-step guide to set up Oracle E-Business Suite (EBS) 12.2 iRecruitement/iProcurement/iSupplier Portal in a DMZ.

I’ll keep it practical, ordered, and DBA-oriented, assuming you already know EBS basics.


1. Understand the Target Architecture (Before Touching Anything)

Goal:
Expose only the web tier to the internet (DMZ) for suppliers, while keeping Application + Database tiers private.

Typical DMZ Architecture

Internet
   |
[Firewall]
   |
[DMZ]
   |
External Web Tier (OHS)
   |
[Internal Firewall]
   |
Internal Web Tier + App Tier
   |
Database Tier

Key Principles

  • No DB or Forms traffic exposed to internet

  • Only HTTPS (443) open from Internet → DMZ

  • DMZ web tier is stateless

  • iSupplier uses OAF (HTML) → no Java Forms exposure needed


2. Prerequisites Checklist

Before setup, ensure:

  • EBS 12.2.x fully upgraded

  • Latest AD + TXK patches

  • SSL certificates ready (Public CA)

  • Separate servers:

    • DMZ Web Tier

    • Internal App Tier

    • DB Tier

  • DNS names defined:

    • External: supplier.company.com

    • Internal: ebs-internal.company.local


3. Prepare the DMZ Web Tier Server

OS Preparation

  • Same OS & version as internal web tier

  • Same users/groups (oracle, oinstall)

  • Time sync (NTP)

  • No database client required

Directory Structure

Example:

/u01/oracle/VIS_DMZ/fs1
/u01/oracle/VIS_DMZ/fs2
/u01/oracle/VIS_DMZ/fs_ne

4. Clone Web Tier to DMZ (Web-Only Clone)

You do NOT install a fresh EBS in DMZ.
You clone only the web tier.

Steps (High Level)

  1. On internal EBS:

    perl adpreclone.pl appsTier
    
  2. Copy required directories to DMZ server

  3. Run Rapid Clone on DMZ:

    perl adcfgclone.pl appsTier
    

During Clone

  • Choose Web Tier Only

  • Skip DB & App services

  • Set external hostname

  • Disable Forms, Concurrent, Admin services


5. Configure External Web Tier (DMZ)

After clone, configure OHS for external access.

Key Config Files

  • httpd.conf

  • ssl.conf

  • mod_wl_ohs.conf

mod_wl_ohs (Very Important)

Forward traffic to internal web/app tier:

<Location /OA_HTML>
   SetHandler weblogic-handler
   WebLogicHost internal-ebs.company.local
   WebLogicPort 8001
</Location>

Same for:

  • /OA_MEDIA

  • /OAFunc

  • /OA_JAVA


6. Enable SSL on DMZ Web Tier (Mandatory)

iSupplier must use HTTPS.

Steps

  1. Import public SSL cert into OHS wallet

  2. Configure:

    Listen 443
    SSLEngine on
    
  3. Enforce HTTPS redirect:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    

7. Configure EBS Context Files (Critical)

External Node Context

Set:

<s_external_url>https://supplier.company.com</s_external_url>
<s_webentryhost>supplier.company.com</s_webentryhost>
<s_webentryprotocol>https</s_webentryprotocol>

Internal Node Context

Ensure:

<s_internal_url>http://internal-ebs.company.local</s_internal_url>

Run:

adautocfg.sh

8. Enable iSupplier Portal Responsibility

Check These Are Installed

  • iSupplier Portal (POS)

  • TCA

  • FND Web components

Profile Options (Important)

Set at Site level:

ProfileValue
Applications Servlet Agenthttps://supplier.company.com
Applications Framework Agenthttps://supplier.company.com
Self Service Web ApplicationsEnabled

9. Configure Guest Access (Optional but Common)

For supplier registration:

  • Responsibility: iSupplier Portal Full Access

  • User: GUEST

  • Enable self-registration if required


10. Firewall Rules (Very Important)

Internet → DMZ

  • TCP 443 (HTTPS)

DMZ → Internal

  • WebLogic ports (usually 8001/8003)

  • OHS → Internal Web tier only

Block Completely

  • Forms ports

  • Database ports

  • Admin ports


11. Testing Checklist

External Test

  • Open: https://supplier.company.com/OA_HTML/AppsLogin

  • Login as supplier

  • Open:

    • Home page

    • Purchase Orders

    • Invoices

Verify:

  • No Forms launch

  • No internal URLs exposed

  • SSL padlock valid


12. Security Hardening (Highly Recommended)

  • Disable /OA_HTML/AppsLocalLogin.jsp

  • Remove admin responsibilities from DMZ

  • Enable:

    • WAF

    • Rate limiting

  • Patch OHS regularly


13. Common Issues & Fixes

Blank Page After Login

➡ Usually Applications Servlet Agent wrong

Redirects to Internal URL

➡ Context file mismatch → rerun AutoConfig

Images Not Loading

➡ /OA_MEDIA not proxied correctly


14. Final Architecture Summary

TierLocation
OHS (External)DMZ
WebLogic (OAF)Internal
FormsInternal
DBInternal

Below is ready-to-use configs, firewall table, and a troubleshooting checklist for EBS 12.2 iSupplier Portal in DMZ.

1️⃣ Exact mod_wl_ohs.conf (DMZ Web Tier)

This is the most critical file.

📍 Location (DMZ node):

$EBS_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/mod_wl_ohs.conf

✅ Recommended Production Configuration

# Load weblogic module
LoadModule weblogic_module ${ORACLE_HOME}/ohs/modules/mod_wl_ohs.so

# Default settings
WLProxySSL ON
WLProxySSLPassThrough ON
Debug OFF

# ===== OA Framework =====
<Location /OA_HTML>
   SetHandler weblogic-handler
   WebLogicHost internal-ebs.company.local
   WebLogicPort 8001
   WLIOTimeoutSecs 300
</Location>

<Location /OA_MEDIA>
   SetHandler weblogic-handler
   WebLogicHost internal-ebs.company.local
   WebLogicPort 8001
</Location>

<Location /OA_JAVA>
   SetHandler weblogic-handler
   WebLogicHost internal-ebs.company.local
   WebLogicPort 8001
</Location>

<Location /OAFunc>
   SetHandler weblogic-handler
   WebLogicHost internal-ebs.company.local
   WebLogicPort 8001
</Location>

# ===== Disable Forms Completely =====
<Location /forms>
   Require all denied
</Location>

👉 Do NOT proxy /forms for iSupplier.

Restart OHS:

$ADMIN_SCRIPTS_HOME/adapcctl.sh stop
$ADMIN_SCRIPTS_HOME/adapcctl.sh start

2️⃣ SSL Configuration (DMZ OHS)

📍 File:

ssl.conf

Minimum Required

Listen 443

<VirtualHost *:443>
   ServerName supplier.company.com

   SSLEngine on
   SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
   SSLCipherSuite HIGH:!aNULL:!MD5
   SSLHonorCipherOrder on

   SSLCertificateFile /u01/ssl/public.crt
   SSLCertificateKeyFile /u01/ssl/private.key
   SSLCertificateChainFile /u01/ssl/chain.crt
</VirtualHost>

Force HTTPS Redirect

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

3️⃣ Firewall Rules (Clear Table)

🌐 Internet → DMZ

SourceDestinationPortPurpose
AnyDMZ OHS443Supplier access

🔥 DMZ → Internal Network

SourceDestinationPortPurpose
DMZ OHSInternal WebLogic8001OAF
DMZ OHSInternal WebLogic8003SSL (if used)

❌ Block Completely

PortReason
1521DB security
7777Internal OHS
9000+Admin ports
Forms portsNot needed

4️⃣ EBS Context File Settings (Very Important)

DMZ Web Tier Context

<s_webentryprotocol>https</s_webentryprotocol>
<s_webentryhost>supplier.company.com</s_webentryhost>
<s_webentryurl>https://supplier.company.com</s_webentryurl>
<s_external_url>https://supplier.company.com</s_external_url>

Internal Web Tier Context

<s_webentryprotocol>http</s_webentryprotocol>
<s_webentryhost>internal-ebs.company.local</s_webentryhost>
<s_internal_url>http://internal-ebs.company.local</s_internal_url>

Run on both tiers:

adautocfg.sh

5️⃣ Mandatory Profile Options (Site Level)

Profile NameValue
Applications Servlet Agenthttps://supplier.company.com
Applications Framework Agenthttps://supplier.company.com
ICX: Session Timeout180
Self Service Personal Home Page ModeFramework

6️⃣ Testing URLs (Order Matters)

Login Page

https://supplier.company.com/OA_HTML/AppsLogin

iSupplier Home

https://supplier.company.com/OA_HTML/OA.jsp?OAFunc=POS_HOME

Media Test

https://supplier.company.com/OA_MEDIA/FNDSSCORP.gif

✔ Image loads = proxy OK
❌ Broken image = /OA_MEDIA issue


7️⃣ Common Issues & Fixes (Real-World)

❌ Redirects to Internal URL

Cause: Wrong profile or context
Fix:

  • Check Applications Servlet Agent

  • Re-run adautocfg.sh


❌ Blank Page After Login

Cause: WebLogic port blocked
Fix:

telnet internal-ebs.company.local 8001

❌ CSS / Images Missing

Cause: /OA_MEDIA not proxied
Fix: Add <Location /OA_MEDIA>


❌ Supplier Can See Forms

Cause: Forms not blocked
Fix:

<Location /forms>
   Require all denied
</Location>

8️⃣ Security Hardening (Strongly Recommended)

✔ Disable local login:

/OA_HTML/AppsLocalLogin.jsp

✔ Enable:

  • Web Application Firewall (WAF)

  • Rate limiting

  • IDS/IPS

✔ Patch regularly:

  • OHS PSU

  • EBS CPU


9️⃣ Final Production Checklist ✅

  • SSL works end-to-end

  • No internal hostname leaks

  • No Forms access

  • Only 443 exposed

  • Suppliers can view:

    • POs

    • Invoices

    • Payments



  • 🔹DMZ architecture diagram




Sunday, December 7, 2025

Oracle Asserter IDCS setup and integration with Oracle EBS 12.2 for SSO

Introduction

The Oracle E-Business Suite (EBS) Asserter is a lightweight Java application that enables single sign-on (SSO) authentication and password management for Oracle EBS using Oracle Identity Cloud Service (IDCS). It acts as a bridge between EBS and IDCS, deployed on Oracle WebLogic Server. This guide provides a step-by-step process for setup and integration with EBS Release 12.2, based on official Oracle documentation. Ensure you have administrative access to EBS, IDCS, and WebLogic environments.

Prerequisites

Before starting, verify the following:

  • Software Versions:
    • Oracle EBS 12.2.4 or later (with latest patches applied).
    • Oracle WebLogic Server 12c (12.2.x) Standard Edition (not Enterprise Edition).
    • Java JDK/JRE 8 or later, with Java Cryptography Extension (JCE) installed.
    • EBS Asserter version 19.1.4-1.2.2 or later (download from IDCS console: Settings > Downloads > Identity Cloud Service E-Business Suite Asserter).
  • Environment Setup:
    • EBS and Asserter hosts must be in the same domain (e.g., example.com).
    • Use HTTPS for all communications (IDCS requires SSL/TLS).
    • Synchronize clocks between EBS, Asserter, and IDCS servers.
    • EBS must not have prior SSO integrations (e.g., Oracle Access Manager or Internet Directory); remove them and restart servers.
    • Note key details: EBS hostname/URL, Asserter WebLogic hostname/URL (e.g., https://asserter.example.com:7002), IDCS base URL (e.g., https://idcs-tenant.identity.oraclecloud.com), EBS database details (host, port, SID), and APPS user password.
  • Access Rights:
    • IDCS: Admin rights to create users/applications.
    • EBS: Sysadmin access.
    • WebLogic: Admin console access.
  • Downloads:
    • Extract the Asserter ZIP to a working directory (e.g., /opt/ebssdk on both EBS and Asserter servers).
    • Key files: ebs.war, idcs-wallet-<version>.jar, and fndext.jar (from ebs.war/WEB-INF/lib).

For multiple EBS instances, deploy one Asserter per instance (or multiple on the same server starting from Asserter 19.2.1-1.5.0 by renaming WAR files).

Step 1: Create an Application User in EBS for the Asserter

  1. Log in to EBS as an administrator (e.g., SYSADMIN).
  2. Navigate to User Management > Users.
  3. From the Register dropdown, select User Account and click Go.
  4. In Create User Account:
    • User Name: Enter a unique name (e.g., EBSSERVICEUSER).
    • Password: Set a strong password.
    • Description: "EBS Asserter Service User".
    • Password Expiration: None.
    • Click Submit.
  5. Click Assign Roles > Assign Roles.
  6. Search for role code UMX|APPS_SCHEMA_CONNECT, select Apps Schema Connect Role, and assign it with justification ("EBS Asserter Service User"). Click Save.
  7. Log out and log back in with the new user to reset the password (ignore Workflow warnings).

This user connects the Asserter to the EBS database.

Step 2: Create and Configure the SYSADMIN User in IDCS

  1. Sign in to the IDCS console.
  2. Go to Users > Add.
  3. In Add User:
    • First Name: EBS.
    • Last Name: Sysadmin.
    • Uncheck Use the email address as the user name.
    • User Name: sysadmin.
    • Email: Use the email from the EBS SYSADMIN account (update EBS if needed—see Step 3).
    • Click Finish.

Step 3: Update SYSADMIN Email in EBS to Match IDCS

  1. Log in to EBS as SYSADMIN.
  2. Go to User Management > Users, search for SYSADMIN, and click the update icon.
  3. Update the Email field to match the IDCS email.
  4. Click Apply and close EBS.

Step 4: Register the Asserter Server with EBS

  1. On the EBS application server, run echo $JAVA_HOME and echo $WL_HOME (note values for EBS 12.2+).
  2. Create /opt/ebssdk and copy fndext.jar from ebs.war/WEB-INF/lib to it (and to Asserter's $DOMAIN_HOME/lib).
  3. Source the EBS environment: source $APPL_TOP/APPS<CONTEXT_NAME>_env (e.g., EBSapps.env).
  4. Locate the .dbc file in $FND_SECURE (e.g., VISION.dbc).
  5. Run: cd /opt/ebssdk; java oracle.apps.fnd.security.AdminDesktop apps/<APPS_PASSWORD> 0 Y CREATE_NODE NODE_NAME=<asserter_hostname> DBC=<full_path_to_dbc>.
    • Replace <asserter_hostname> with the Asserter WebLogic hostname.
  6. Verify: cat <SID>_<hostname>.dbc and note the APPL_SERVER_ID value.
  7. Copy the new .dbc file to /opt/ebssdk on the Asserter server.

Step 5: Register a Confidential Application in IDCS for the Asserter

  1. In IDCS, go to Applications > Add > Confidential Application.
  2. Details tab:
    • Name: EBS Asserter.
    • Description: EBS Asserter Application.
    • Application URL: /ebs.
    • Check Display in My Apps.
    • Click Next.
  3. Client tab:
    • Select Configure this application as a client now.
    • Allowed Grant Types: Client Credentials, Authorization Code.
    • Allowed Scopes: Check all.
    • Redirect URI: https://<asserter_host>:<port>/ebs/response.
    • Logout URI: https://<asserter_host>:<port>/ebs/logout.
    • Post Logout Redirect URI: https://<asserter_host>:<port>/ebs.
    • Click Next.
  4. Resources tab:
    • Under Grant the client access to Identity Cloud Service Admin APIs, add Authenticator Client and Me scopes.
    • Click Next > Finish.
  5. Note the Client ID and Client Secret, then Activate the application.

Step 6: Create a Wallet File for IDCS Credentials

  1. On the Asserter server, cd /opt/ebssdk.
  2. Run: java -jar idcs-wallet-<version>.jar.
  3. Enter:
    • Wallet Path: Full path (e.g., /opt/ebssdk/cwallet.sso).
    • Client ID: From Step 5.
    • Client Secret: From Step 5.
    • IDCS Base URL: e.g., https://idcs-tenant.identity.oraclecloud.com.
  4. This generates cwallet.sso.

Step 7: Configure the Asserter Properties (bridge.properties)

  1. Unzip ebs.war to a temp directory.
  2. Edit WEB-INF/bridge.properties (uncomment and set):
    text
    app.url=https://<asserter_host>:<port>/ebs
    app.serverid=<APPL_SERVER_ID from Step 4>
    ebs.url.homepage=https://<ebs_host>:<port>/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE
    ebs.ds.name=visionDS  # Example; match your datasource name
    ebs.user.identifier=username  # Or 'email' based on EBS user field
    idcs.iss.url=https://identity.oraclecloud.com
    wallet.path=/opt/ebssdk/cwallet.sso
    whitelist.urls=https://<ebs_host>:<port>/OA_HTML/RF.jsp?,https://<ebs_host>:<port>/OA_HTML/OA.jsp?,https://<ebs_host>:<port>/OA_HTML/BneApplicationService
    ebs.renew.session=true  # Optional: Renews EBS session on each request
    post.logout.url=/ebs  # Optional: Must match IDCS post-logout URI
    • For proxy mode (switch user): Set proxy.mode=true and proxy.home.url=<EBS switch user URL>.
    • Ensure idcs.user.identifier matches ebs.user.identifier for user mapping.
  3. Re-zip the directory to recreate ebs.war.

Step 8: Configure WebLogic Server

  1. Access WebLogic Console (e.g., https://<asserter_host>:<admin_port>/console).
  2. Disable Hostname Verification (for SSL):
    • Lock & Edit > Environment > Servers > [Server Name] > SSL > Advanced.
    • Set Hostname Verification to None.
    • Activate Changes and restart the server.
  3. Handle IDCS Certificates (if needed for trust):
    • Use default Java trust store; avoid custom imports.
    • For renewals: Remove old certs with keytool commands on $WL_HOME/server/lib/DemoTrust.jks and $JAVA_HOME/jre/lib/security/cacerts (default password: changeit), then restart.

Step 9: Define Data Source and Deploy the Asserter

  1. Create Data Source:
    • In WebLogic Console: Services > Data Sources > New > Generic Data Source.
    • Name/JNDI: visionDS (match ebs.ds.name).
    • Database Type: Oracle.
    • Driver: Oracle's Driver (Thin) Versions: 12.x or later (non-XA) or Thin XA for XA.
    • Connection: Database Name (SID), Host, Port (e.g., 1521), User/Password (from Step 1).
    • Driver Class Name: oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource (non-XA) or AppsXADataSource (XA).
    • Properties: dbcFile=/opt/ebssdk/<SID>_<hostname>.dbc.
    • Test Configuration, target EBSAsserter_server (create if needed), Finish > Activate Changes.
  2. Deploy:
    • Copy updated ebs.war to /opt/ebssdk.
    • Deployments > Install, select ebs.war, install as application, target the managed server, Activate Changes.
    • Start the server if stopped.

Step 10: Update EBS Profiles for SSO

  1. Log in to EBS as SYSADMIN.
  2. Go to System Administrator > Profiles > System.
  3. Update:
    • APPS_AUTH_AGENT: Site level = Asserter URL (e.g., https://asserter.example.com:7002/ebs).
    • APPS_SSO: Site level = SSWA w/ SSO.
    • APPS Session: Site level = DOMAIN (from HOST).
  4. Sign-off and restart EBS application servers.

Step 11: Test the Integration

  1. In IDCS, create a test user with username matching an EBS user; assign the EBS Asserter app.
  2. Access the Asserter URL (e.g., https://asserter.example.com:7002/ebs) → Redirects to IDCS login.
  3. Log in with IDCS credentials → Redirects to EBS homepage.
  4. Test logout: Should redirect to IDCS logout and back to Asserter.
  5. Verify password changes in IDCS sync to EBS.
  6. For issues: Check WebLogic logs ($DOMAIN_HOME/servers/<server>/logs), enable diagnostics in bridge.properties (log.level=DEBUG), or review IDCS audit logs.

Additional Considerations

  • Monitoring: Use WebLogic Console for deployment status; enable Asserter metrics via properties.
  • Mobile Apps: For EBS mobile, configure additional IDCS apps (see Oracle docs).
  • Troubleshooting: Common issues include mismatched user identifiers, network ports, or certificate trust. Collect diagnostics by setting log.level=TRACE and reviewing asserter.log.
  • High Availability: Deploy multiple Asserters behind a load balancer.

For the latest patches or variations, refer to Oracle Support. If using Docker for deployment, additional steps apply (e.g., build WebLogic image). 

Friday, February 16, 2024

EBS SSO integration with IDCS

 Introduction

The post introduces Oracle Identity Cloud Service (IDCS) integration with the existing Oracle e-Business Suite (EBS) environments.

IDCS is an Oracle cloud-based Identity platform, which enables SSO services to access EBS applications. It does not require any installations. Oracle Cloud maintains everything, including backup, recovery, patching, upgrade, and scaling.

You need only one component called EBS Asserter, which IDCS provides to implement SSO for Oracle e-Business Suite and other applications.

Features of EBS Asserter

Asserter has the following key features:

  • You don't need to make configuration changes to EBS.
  • You should deploy in WebLogic 12C with SSL configuration.
  • It supports single login for EBS applications, IDCS, and EBS Asserter.
  • It has multiple access modes for SSO with EBS.

In IDCS, you can also integrate with the existing active directory (AD). To integrate IDCS with an existing AD, you need to download the Oracle IDCS AD agent from IDCS and install it on the AD server by providing client ID and client secret details. After the installation completes, the system updates the AD server details in the IDCS directory integrations.
 

To synchronize AD users, you need to configure the bridge and perform synchronization.

Following is an illustration of the new approach of EBS integration with IDCS:


EBS Integration with IDCS for SSO

Oracle supports all EBS modules having browser-based logins to work with EBS Asserter and also supports Excel-based logins for Web ADI. Mobile Apps for EBS don't use browser-based authentication, so Mobile apps are not supported.

Installation prerequisites
To install EBS Asserter, make sure you have the following elements in place:

  • Oracle JRE/JDK version 8 or later
  • Java Cryptography Extension file for Java 8
  • Access to the IDCS console to download the EBS Asserter and permission to register confidential applications.
  • Access to EBS applications.
  • A separate Oracle WebLogic server 12C and a new managed server, EBSAsserter_server, where you can deploy the EBS Asserter Java application. This WebLogic server and EBS servers must be in the same domain.
  1. Download and extract the EBS Asserter zip file.
  2. Access the Identity Cloud Service console, expand the NavigationDrawer, click Settings, and click Downloads. Click Download to download IDCS EBS Asserter, and then save the zip file.
  3. Extract the contents of the EBS Asserter zip file.
  4. Copy the ebs.war and idcs-wallet-<version>.jar files to a working folder into the EBS Asserter's WebLogic Server machine.
  • Make sure the EBS Asserter URL has access over the SSL.

    If you have multiple EBS instances, you can configure and deploy EBS Asserter for each EBS instance. You can use the same WebLogic server for all EBS Asserter-managed servers.

    Configuration steps

    Perform the following configuration steps:

    1. Create an application user on EBS

    To create a user for EBS Asserter to communicate with EBS applications, perform the following steps from the Oracle Asserter documentation:

    1. Log in to EBS as the sysadmin user.
    2. Go to User Management Responsibility and click Users.
    3. Select User Account from the Register drop-down menu and click Go.
    4. On the Create User Account page, enter the following details to create a new user,
       and click Submit:

         - Username: EBSASSERTER
         - Password: The user password.
         - Description: EBS Asserter Service User
         - Password Expire: None

    5. After user creation, click Assign roles, and then click Assign roles on the
       Update User page.
    6. Use Search and Select: Assign Roles by code UMX|APPS_SCHEMA_CONNECT.
    7. Select Apps Schema Connect Role and click Select. 
    8. Justify EBS asserter service user and click Save.

2. Create EBS system administrator in IDCS

Perform the following steps from Oracle Asserter documentation to create a user in IDCS that communicates to the system administrator in EBS applications.

1. Log in to IDCS to access the console.
2. In the IDCS console, expand the navigation, click Users, and click Add on the
   Users page.
3. In the Add User window, provide the following values and click Finish:

     - First Name: EBS
     - Last Name: Sysadmin
     - Uncheck Use the email address as the username.
     - Username: sysadmin
     - Email: Provide the email address set to the SYSADMIN account in your Oracle E-Business Suite.

4. After you create the user in IDCS, log in to EBS applications and update the sysadmin
user email address to match the IDCS sysadmin address.

########

Perform the following steps from Oracle Asserter documentation to register the EBS Asserter with EBS:

1. Log in to the EBS application server as `applmgr` and identify the directories for
   $JAVA_HOME and $WLS_HOME.
2. Run the following commands to create a working directory:

        cd /u01/app/SID
        mkdir ebssdk
        cd ebssdk

3. Extract fndext.jar from ebs.war, which you downloaded from IDCS. Copy it both to the working directory and the EBS asserter WebLogic server $DOMAIN\_HOME/lib folder.
4. Source the EBS environment file and run the following commands to register EBS asserter with EBS applications:

        cd /u01/app/SID/ebssdk
        java oracle.apps.fnd.security.AdminDesktop apps/<apps_pwd> CREATE NODE_NAME=ebsasserter.example.com DBC=$FND_SECURE/EBSDB.dbc

5. Copy the generated EBSDB_ebsasserter.example.com.dbc file to the EBS Asserter server and make a note of the APPL_SERVER_ID.

4. Register EBS Asserter in IDCS

Perform the following steps from Oracle Asserter documentation to create a confidential application to represent EBS asserter:
 

1. Log in to the IDCS console and expand the navigation and then click applications.
2. Click on Add and select Confidential applications in the dialog box



3. Enter the following information and click next:

     - Name: EBS Asserter
     - Description: EBS Asserter Application
     - Application URL: https://ebsasserter.example.com:7002/ebs
     - Display in My Apps: Select this check box.

4. In the Client pane, select Configure this application as a client now and enter
   the following information:
   
     - Allowed Grant Types: Select Client Credentials and Authorization Code.
     - Redirect URL: https://ebsasserter.example.com:7002/ebs/response
     - Logout URL: https://ebsasserter.example.com:7002/ebs/logout
     - Post Logout Redirect URL: https://ebsasserter.example.com:7002/ebs

5. Beneath Grant the client access to Identity Cloud Service Admin APIs, click Add.
6. In the Add App Role dialog window, select Authenticator Client and Me in the list and click Add.
7. Click Next in the Client pane and the following panes. Click Finish.
8. In the Application Added dialog box, make a note of the Client ID and Client Secret values and click Close.
9. Click Activate to activate the application. 


5. Create a WebLogic wallet 

According to Oracle Asserter documentation, for security purposes, you need to register client ID, client secret, and IDCS URL in the wallet used by the EBS Asserter.  Perform the following steps described in the Oracle documentation:

1. Log in to the EBS Asserter server and go to the directory where the idcs-wallet-<version>.jar file exists.

2. Run the following command to generate the cwallet.sso file and fill in the details
   as prompted:

        java -jar idcs-wallet-<version>.jar  

     - Enter Wallet Path: Enter the path to the store wallet file.
     - Enter Client ID: Enter the Client ID

     - Enter Client Secret: Enter the Client Secret for the client ID.
     - Enter IDCS base URL: Enter the IDCS base URL.

6. Update the configuration file

Update EBS Asserter configuration file, bridge.properties with EBS instance and IDCS details.

 7. Deploy EBS Asserter

Perform the following steps from Oracle Asserter documentation to create a new data source and deploy the EBS Asserter application.

Define the data source

1. Log in to the EBS Asserter WebLogic console and select Data Sources.
2. Click **New** and select Generic Data Source.
3. Enter the following database details and click Next.

     - Name: EBSDB (The name should be same as the ebs.ds.name in file.)
     - JNDI Name: EBSDB
     - Database Type: Oracle
     - Database Driver: \*Oracle's Driver (Thin) for Instance connections; Versions:Any.

4. Enter the following database connection details:

     - Database Name: EBSDB
     - Host Name: ebs.example.com
     - Port: 1521
     - Database Username: EBSASSERTER
     - Password: Enter the username password.

5. Select driver class name" oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource.
6. Update the following details in Properties:

        user=IDETITYADMIN
        dbcFile=/u01/app/SID/ebssdk/EBSDB_ebsasserter.example.com.dbc

7. Click Test Configuration

Deploy EBS Asserter on the WebLogic server

1. Log in to the EBS Asserter WebLogic console and click Lock & Edit.
2. Click Deployments and Install. 
3. Select the ebs.war file and click Next. 
4. Select Install this deployment as an application and click Next.
5. Select the target server, EBSAsserter\_server. Click Next.
6. Accept the default values and click Finish.
7. Click Activate Changes.

8. Update EBS profiles

Update the following EBS profiles:

- Application Authenticate Agent: https://ebsasserter.example.com:7002/ebs
- Oracle Applications Session Cookie Domain (ICX_SESSION_COOKIE_DOMAIN)**: DOMAIN
- **Applications SSO Type**: `SSWA_SSO`
- **FND_SEC_ALLOW_UNRESTRICTED_REDIRECT: Yes

9. Restart and test

Restart the EBS services and test your SSO logins.

Conclusion

The preceding steps help implement SSO functionality for EBS by using Oracle IDCS and facilitate integration between active AD, EBS, and IDCS.