Skip to main content

Enable Okta SSO and MFA to Oracle PeopleSoft via Datawiza

About 2 min

Overview

This tutorial shows how to enable Okta Single Sign-On (SSO) and Okta Multi-Factor Authentication (MFA) for an Oracle PeopleSoft application using Datawiza Access Proxy.

Benefits of integrating applications with Okta using Datawiza Access Proxy include:

  • Proactive security with Zero Trust through Okta.
  • Use of web applications such as: Oracle JDE, Oracle E-Business Suite, Oracle Sibel, Oracle Peoplesoft, and home-grown apps.
  • Use the Datawiza Cloud Management Consoleopen in new window to manage access to applications in public clouds and on-premises.

Background

This document focuses on Oracle PeopleSoft application integration using HTTP authorization headers to manage access to protected content.

For legacy applications, due to the absence of modern protocol support, a direct integration with Okta SSO is difficult. Datawiza Access Proxy bridges the gap between the legacy application and the modern ID control plane, through protocol transitioning. Datawiza Access Proxy lowers integration overhead, saves engineering time, and improves application security.

Architecture

The solution has the following components:

  • Okta : The Okta cloud-based identity and access management service, which helps users sign in and access external and internal resources.
  • Datawiza Access Proxy (DAP): A lightweight container-based reverse-proxy that implements OpenID Connect (OIDC), OAuth, or Security Assertion Markup Language (SAML) for user sign-in flow. It transparently passes identity to applications through HTTP headers.
  • Datawiza Cloud Management Console (DCMC): A centralized console to manage DAP. DCMC has UI and RESTful APIs for administrators to configure Datawiza Access Proxy and access control policies.
  • Oracle Peoplesoft application : Legacy application going to be protected by Okta and DAP.

Prerequisites

Ensure the following prerequisites are met:

Getting started with DAP

To integrate Oracle Peoplesoft with Microsoft Entra ID:

  1. Sign in to Datawiza Cloud Management Consoleopen in new window.

  2. The Welcome page appears.

  3. Select the orange Getting started button. Oracle PeopleSoft SSO and MFA | Getting Started

  4. In the Name and Description fields, enter the relevant information.

  5. Select Next. Oracle PeopleSoft SSO and MFA | Create a New Deployment

  6. On the Add Application dialog, use the following values:

    PropertyValue
    App TypeWeb
    NameEnter a unique application name.
    Application URLFor example: https://ps-prod.your-company.com. For testing, you can use localhost DNS. If you aren't deploying DAP behind a load balancer, use the Public Domain with the port.
    Listen PortThe port that DAP listens on.
    Upstream ServersThe Oracle PeopleSoft implementation URL and port to be protected.
  7. Select Next. Oracle PeopleSoft SSO and MFA | Create a New Application

  8. On the Configure IdP dialog, enter the relevant information.

  9. Input the IdP name. Select OIDC as Protocol and Okta as Identity Provider. Populate the fields of the form with the keys/values obtained from IdP Configuration Guide: Okta. Okta SSO and MFA | Create a New Okta IdP

  10. Select Create.

Install and run Datawiza Access Proxy

Once clicking on the Create button, the basic configuration on the management console is finished. You will see the final step of the guide, which presents you with a page showing the simple steps to deploy Datawiza Access Proxy (DAP) with your application. Note down the commands for your deployment. The first command will download Docker and Datawiza Access Proxy image, and the second command will create a Docker Compose file and run Datawiza Access Proxy. You can refer to Install and Run Datawiza Access Proxy by command for more information.

DAP Docker Compose File

SSO and HTTP headers

The DAP gets user attributes from IdP and passes them to the upstream application via header or cookie.

For the Oracle PeopleSoft application to recognize the user correctly, there's another configuration step. Using a certain name, it instructs DAP to pass the values from the IdP to the application through the HTTP header.

Such configuration will be done in the Applications tab on the left panel and go to Attribute Pass sub-tab. For Oracle PeopleSoft, please refer to the screenshot below to configure the attribute pass:

PropertyValue
FieldEmail
ExpectedPSSSOUID
TypeHeader

Oracle PeopleSoft SSO and MFA | Attribute Pass

Info

This configuration uses the email as the sign in username used by Oracle Peoplesoft. To use another user identity, go to the Mappings tab.

Oracle PeopleSoft SSO and MFA | Profile Mapping in DCMC

(Optional) SSL Configuration

  1. By default, when you set up this application, it will use the Datawiza self-sign certificate, but you still have the chance to replace it with your own certificate. Select the Advanced tab. Click the edit button, then upload your own certificate. Enable SSLUpload self-signed Cert
  2. Select Save.

(Optional) Enable Okta Multi-Factor Authentication

To provide an extra level of security for sign-ins, enforce multifactor authentication (MFA) for user sign-in. One way to achieve this is to Enable MFA on the Okta portalopen in new window.

Enable SSO in the Oracle Peoplesoft Console

To enable SSO in the Oracle Peoplesoft environment:

  1. Log into to Peoplesoft Console http://{your-peoplesoft-fqdn}:8000/psp/ps/?cmd=start using Admin credentials (Example: PS/PS). Oracle PeopleSoft SSO and MFA | PS Console

Add a default public access user to Peoplesoft

  1. From the main menu, navigate to PeopleTools > Security > User Profiles > User Profiles > Add a New Value.
  2. Select Add a new value.
  3. Create user: PSPUBUSER and enter the password. Oracle PeopleSoft SSO and MFA | PS Create PSPUBUSER
  4. Select the ID tab and choose the type as None. Oracle PeopleSoft SSO and MFA | PS Select ID Type
  5. Associate a low security role such as PeopleSoft User.

Configure the web profile

  1. Navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Security to configure the user profile.
  2. Check the Allow Public Access box and then enter the user id PSPUBUSER and password.
  3. Click Save. Oracle PeopleSoft SSO and MFA | PS Allow Public Access

Enable SSO

  1. Navigate to PeopleTools > Security > Security Objects > Signon PeopleCode
  2. Select the Signon PeopleCode page.
  3. Enable the OAMSSO_AUTHENTICATION and then click Save.
  4. Make sure to select Invoke as user signing in. Oracle PeopleSoft SSO and MFA | PS Signon Code

Configure PeopleCode using the PeopleTools application designer

  1. Navigate to File > Open > Definition: Record > Name: FUNCLIB_LDAP.
  2. Open FUNCLIB_LDAP. Oracle PeopleSoft SSO and MFA | PS Open Def
  3. Double click on this record.
  4. Right-click LDAPAUTH > View PeopleCode.
  5. Search for the getWWWAuthConfig() function. Change &defaultUserId = ""; or &defaultUserId = "IDCSPSFT" to &defaultUserId = "PSPUBUSER". Oracle PeopleSoft SSO and MFA | Change Default User ID
  6. Double check the user header is PSSSOUID for OAMSSO_AUTHENTICATION function. Save the record definition. Oracle PeopleSoft SSO and MFA | PS Check Header

Set the default proxy address

  1. From the Main Menu navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Virtual Addressing.

  2. Choose the Default Addressing, set the following fields and click Save

    FieldValue
    Protocolhttps
    NameThe Fully Qualified Domain Name (FQDN) for the public domain of the PeopleSoft application, could be something like ps-prod.your-company.com.
    Port443

Oracle PeopleSoft SSO and MFA | PS Check Header

Set the Authentication Domain

  1. Leverage the psadmin tool to both configure your authentication domain, and ensure that it has been set up appropriately. Choose Web (PIA) Server > Administer a domain > Configure this domain.
  2. Verify the value of Auth Token Domain is .yourcompany.com, then Save. Oracle PeopleSoft SSO and MFA | PS authentication domain

Handling 'login' from PS

Default PS Sign-in page can also be replaced to redirect users to SSO login page, just to cover scenarios where user inadvertently land in PS sign-in page. There are several ways to achieve this goal. One way is to create a new dapsignin.html in PORTAL.war with the SSO Login Redirect.

  1. Create a new signin page which will redirect users to the SSO login url.

    Info

    Remember to replace /psp/{SITE-NAME}/?cmd=start with your real PeopleSoft Site Name.

    $ vi /home/psadm2/psft/pt/8.57/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/dapsignin.html
    
    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta HTTP-EQUIV='Refresh' CONTENT='0; URL=/psp/{SITE-NAME}/?cmd=start'>
    </HEAD>
    </HTML>
    
    
  2. Navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Look and Feel to configure the signin page.

  3. Change the value of Signon Page to dapsignin.html. Oracle PeopleSoft SSO and MFA | Signin Page

Handling 'logout' from PS

Default 'logout' action takes user to PS sign-on page, this link should either be disabled or updated to redirect user to SSO logout page. To achieve this:

  1. Create a new logout page which will redirect users to the DAP logout url.

    Info

    Your path may slightly differ from the example provided here. Please adjust as necessary to fit your specific environment.

    $ vi /home/psadm2/psft/pt/8.57/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/ps/daplogout.html
    
    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta HTTP-EQUIV='Refresh' CONTENT='0; URL=/datawiza/ab-logout'>
    </HEAD>
    </HTML>
    
    
  2. Navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Look and Feel to configure the signout page.

  3. Change the value of Logout Page to daplogout.html. Oracle PeopleSoft SSO and MFA | Signout Page

Handling of 'Session Timeout' from PS

Default PS session expiration page can also be replaced to redirect users to SSO login page, just to cover scenarios where user land in PS expire page if the session is timeout. Create a new dapexpire.html in PORTAL.war with the SSO Logout Redirect.

  1. Create a new expire page which will redirect users to the DAP logout url.

    Info

    Your path may slightly differ from the example provided here. Please adjust as necessary to fit your specific environment.

    $ vi /home/psadm2/psft/pt/8.57/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/ps/dapexpire.html
    
    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta HTTP-EQUIV='Refresh' CONTENT='0; URL=/datawiza/ab-logout'>
    </HEAD>
    </HTML>
    
  2. Navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Look and Feel to configure the expire page.

  3. Change the value of Expire Page to dapexpire.html. Oracle PeopleSoft SSO and MFA | Expire Page

Handling of 'Signon Error' from PS

The default PeopleSoft (PS) Signon error page, which currently displays a standard login page with username and password fields, can be altered to automatically redirect users to the Single Sign-On logout page. This change would be beneficial in cases where users encounter a signon error and are subsequently directed to the PS Signon error page. Create a new daplogout.html in PORTAL.war with the SSO Logout Redirect.

  1. Create a new logout page which will redirect users to the DAP logout url.

    Info

    Your path may slightly differ from the example provided here. Please adjust as necessary to fit your specific environment.

    $ vi /home/psadm2/psft/pt/8.57/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/ps/daplogout.html
    
    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta HTTP-EQUIV='Refresh' CONTENT='0; URL=/datawiza/ab-logout'>
    </HEAD>
    </HTML>
    
  2. Navigate to PeopleTools > Web Profile > Web Profile Configuration > Search > PROD > Look and Feel to configure the signon error page.

  3. Change the value of Signon Error Page to daplogout.html. Oracle PeopleSoft SSO and MFA | Signon Error Page

Info

After completing configuration steps in PeopleSoft, application and web servers need to be bounced and cache to be cleared for changes to take effect.

Test an Oracle PeopleSoft application

To confirm Oracle PeopleSoft application access occurs correctly, a prompt appears to use an Identity Provider account for sign-in. Credentials are checked and the Oracle PeopleSoft appears.

Note

To improve security, organizations using this model may also consider blocking all direct access to the application, thus forcing the use of a strict path through the Datawiza Access Proxy.

What's more