Thursday, 16 June 2016

CONFIGURING AND TROUBLESHOOTING PEOPLESOFT SINGLE SIGNON

CONFIGURING AND TROUBLESHOOTING PEOPLESOFT SINGLE SIGNON

This resolution is meant to address the most common issues encountered when implementing or modifying Single Signon between PeopleSoft Applications (Enterprise Portal and HR for example).  It doesn't cover 3rd Party authentication or customizations required to authenticate to/from PeopleSoft.  Please note that we require the Portal's PeopleTools version to be >= the Content Provider's PeopleTools version.  We have seen where they run without complying with that rule, but if there is any issue, it will need to be replicated under this configuration before reporting it to development.

*** Definition: Single Signon means that after a user has been authenticated by one PeopleSoft application server, that user can access a second PeopleSoft application server without entering user ID and password again.

*** EXAMPLE TRANSACTION:
See Enterprise PeopleTools 8.49 PeopleBook: Security Administration > Implementing Single Signon > Sample Single Signon Transaction for more details:
1) User Signs on to Enterprise Portal (PA)
2) PA Application Server Authenticates User
3) PA Application Server Generates SSO Token
4) Web Server Creates Cookie in User's Browser
5) User Accesses Content Provider Application (CP)
6) CP Web Server Receives PS_TOKEN Cookie
7) CP Application Server Authenticates PS_TOKEN


*** PS_TOKEN: is generated using either the database's SSL Certificate or User ID, Language Code, Timestamp, Issuing System Default Local Node, Default Local Node Password which is encrypted using SHA1_Hash

*** CONFIGURATION FOR SINGLE SIGNON:
1) The Default Local Node of one system must match in Name and Password to a Remote Node on the second system.  The reverse is also true; the Default Local Node of the second system must be represented with a Remote node of identical Name and Password on the first system.  This is a basic trust relationship model.
2) The AuthTokenDomains must match between systems.  This means that the following must be consistent:
  a) Authentication Domain in the General Tab of the Web Profile must be set
  b) CookieDomain session parameter value must be set in the %PS_HOME%\webserv\sitename\applications\peoplesoft\PORTAL\WEB-INF\weblogic.xml file.
  c) URI values on all nodes involved must include the fully qualified domain name, not simple machine names.
3) If systems use the same web server, defaultPort and defaultScheme must be set on the configuration.properties.  If using 8.44+ PeopleTools, the Protocol and Port must be set on the Virtual Addressing tab of the Web Profile.
4) Nodes MUST use passwords or an SSL certificate.
5) The Nodes (both the Default Local and Remote node) must be trusted in all databases.
6) User ID must exist with same name (not necessarily same password) in both systems.

*** TROUBLESHOOTING COMMON ERRORS:
1) Your User ID and/or Password are invalid
  a) AppServ Log: PeopleSoft Token authentication failed: invalid token signature
  a) Resolution: Password needs to be set on Default Local Node and the password needs to match the remote node in Content provider
  b) AppServ Log: PeopleSoft Token authentication failed: invalid token signature
  b) Resolution: Password needs to match exactly between the two environments, Portal and content provider nodes
  c) AppServ Log: Token authentication failed: issuing node PSFT_PA is not a trusted node
  c) Resolution: Default Local Node of portal should be defined as a trusted node in content provider
Navigate to PeopleTools > Security > Security Objects  > Single Signon to add a trusted node (8.4 and above)
Navigate to PeopleTools > Maintain Security > Setup > Single Signon (8.1x)
  d) AppServ Log: Error Setting Sign on PeopleCode context for User
Error Setting App Server context to user
  d) Resolution: Userid need to match in both the environment for single signon to work successfully

2) STR_PCMINVPORTAL: Invalid portal name EMPLOYEE in request. Portal not defined. Unable to process request with an invalid portal.
  Resolution: Make sure that the Hosted by node of portal is defined as a remote node in the content provider with the URL pointing back to portal.  Typically this involves logging into the Content Provider Database (HR, Financials, CRM , etc.) and opening the EMPL node in that system.  The EMPL node URI values are setup to point back to the Enterprise Portal.  The EMPL node within the Enterprise Portal system hosts the EMPLOYEE registry by default, so if any change has been made, a different node would have to be used.  If The EMPL node of the Content Provider is setup, but is pointing to the wrong domain, the error message should say that the domain is incorrect.

3) Cannot open http://url.  Configuration.properties
  Resolution: Move one web server to a different machine.
Add a second DNS entry for the web server in the same domain.
Set the defaultPort and defaultScheme or In 8.44+, the Default Addressing on the Virtual Addressing tab of the Web Profile on both systems.
Fix the PIA sitename

4) Authorization Error -- Contact your Security Administrator
  Resolution: Make sure to use the content provider node or a node with the same URI value while creating a CRef. If any other local node is used, it will result in the authorization error

5) You are not authorized to access this component
  Resolution: Content Provider node should always be a remote node and not a local node in portal.

6) Link Errors
  Resolution: Although not specifically a part of Single Signon, it's related, and the GSC gets many cases on this.  Our delivered Single Link and Application links (e.g. EPM to Financials for ledgers) use a node, which is not the same as the remote node in your Portal database.  This node is defined as the HPNODENAME in the Portal URL weblib parameter.  In other words, a delivered link may fail because it is trying to pull content from the Portal registry simply because the node it's using hasn't been properly defined.  Let's say you configure your portal with a remote node for the content provider.  Since PeopleSoft has no way of knowing what that node is, we default everything to ERP, HRMS, CRM, etc. to correlate with our applications.  Those delivered nodes do not have the proper URI values in order to attempt a link to the content provider, so the Portal is stuck trying to retrieve that content from it's own registry.  It fails in this, and the error message depends on the Tools versions involved.  Generally, there will be nothing on the screen but a URL which includes the Content Reference URI + the Portal Server URI.  Be sure that the HPNODENAME value is set to a remote node that has it's URI information populated.  The Node Name for the content Reference itself should remain blank or set to LOCAL_NODE.

7) "This is not a valid site. The site name is case sensitive." is received in the PIA window for SSO.  This error can be resolved by using the proper case for the PIA SiteName in the URI value of your Node Definition.

For example, if a customer is using http://server.company.com/psc/epprd/ in the URI value, but the actual URL value when you navigate to the site is http://server.company.com/psc/EPPRD/ it will cause this error.

8) Your Portal and content provider webserver time are not in sync. Make sure the time and timezone are match on both servers.


***NOTES:
For 8.1x PeopleTools, it has been noted that there can only be a 7-character password on the nodes max. (so corresponding nodes must be the same as well).

Also for 8.1x, there is only one Local Node (thus it is default) and node values are configured via App Designer, not online.

If the AuthTokenDomain wasn't setup when PIA was installed (on either the content provider or the portal) then typically we see expiration issues with the content provider.  Thus you get the signon screen.  This is because customers add the AuthTokenDomain to the webprofile, but fail to add the domain to the webserver's configuration.  When seeing single signon related expiration issues, that you check the weblogic.xml for the session cookie domain and if it's not there, re-run the PIA install.  Check this for the portal and all web server content providers.
If re-running the PIA install is not an option, an administrator can modify the %PS_HOME%\webserv\sitename\applications\peoplesoft\PORTAL\WEB-INF\weblogic.xml file manually by adding the following with the proper domain value.  Additionally, the Authentication Domain value (General tab) must be set in all WebProfiles in use.  Here is a sample of how it looks in the WebLogic XML:

- 
CookieDomain.us.oracle.com 
In OAS orion-web.xml, when authentication domain is not set during PIA install, will be missing. Here's example of OAS orion-web.xml when authentication domain is set during PIA install.  Here's an example:

Strange behavior, such as missing images and the following error message, especially on Windows 2000 machines using IE can indicate that the Virtual Addressing tab of the webprofile needs a protocol, server and port set.

Site name is not valid. Check your URL syntax and try again.

On Pre 8.44 systems, this would be the default port and default scheme.

***HTTP/HTTPS:
If the Portal is pulling in HTTPS content, it must be on HTTPS itself.  Anytime SSL is used on the content providers, the Portal source must have SSL as well.  This is a requirement.  Also, when reconfiguring/cloning databases, we often see where the original was HTTPS, but the subsequent clone doesn't have HTTPS setup yet.  So, while it is using HTTP, all of the URI values are still listed with the old protocol type.

Further, if both systems are using HTTPS, it will be necessary to load the ROOTCA and Public Key of the Portal into the Content Provider via PeopleTools > Security > Security Objects, Digital Certificates.  This is required or you will get an error similar to ' Untrusted Server Certificate Chain '.  This simply means that the encrypted request from the Portal can't be decrypted by the Content provider.  Since typically both system's share the ROOTCA when generating their public keys, both systems generally just load all of the following:
1) ROOTCA (generally shared)
2) Local Public Key
3) Remote Public Key of the calling system.

For example, in a Portal > CRM SSO configuration, the CRM system would need the ROOTCA, it's own public key (local), and the public key of the Portal which is making the call (remote).  For two way single signon, the reverse would also be true.  So for Portal <> CRM SSO, the above needs to be completed and then the Portal not only has to have the ROOTCA and it's own public key (local), but also the public key of the CRM system (remote)

***ENVIRONMENTAL CONSIDERATIONS:
When considering setting up Single Signon, many customers wish to have different internal vs. external access.  This means one Intranet website setup and one Internet.  Unfortunately, the PeopleSoft database only has one default local node.  Due to this fact, single signon to content providers will only accept one valid URL for a Portal system.  In this regard, for example, an Enterprise Portal which is access via a Reverse Proxy webserver in a corporate DMZ would have a different URL from it's direct access via the internal (inside the firewall) webserver.  Due to this, the content providers, such as Financials, CRM, HCM, etc. can only validate one of those addresses.  Either the externally available or internally available URL.  This poses a problem for customers who wish to setup SSO for internal users at one URL and for external users at a different URL.
More information about this functionality can be found in the following:
1. Red Paper: Clustering and High Availability for Enterprise Tools 8.4x (Doc ID <<747378.1>>)
2. The Enterprise Portal Installation Guide: PeopleSoft Enterprise Portal Solutions 9 Installation (Doc ID <<701192.1>>)
3. PeopleTools 8.49 PeopleBook: Security Administration > Implementing Single Signon

Every customer's situation is unique, as are their security requirements and infrastructure. For this reason, the GSC can not make recommendations for which path to utilize for Single Signon, as it is considered a Consulting/Implementation matter.  Each customer should evaluate their needs to make appropriate decisions based on requirements.

As the GSC isn't equipped to make recommendations in general, selecting how to implement SSO is considered out of scope. However, general information can be provided which may help and doing the actual setup is straightforward and supported: 
Options Available:
1. Enable a Reverse Proxy Server (RPS) inside the DMZ.  This RPS would handle incoming traffic and redirect to the internal website through 1 port in the firewall. However, since the browser makes direct connections to any content providers, Single Signon (SSO) will not function unless the PeopleSoft Applications (such as HCM or CRM) are also accessible via an RPS system in the DMZ.  This is because the end-user's browser actually makes the connection directly to SSO applications as part of the transaction and from then on accesses that content directly even while Portal makes requests as well.

For this setup, the node URI addresses as well as AuthTokenDomain, must reflect the URL the users will actually use to access the system (i.e. the external URL).  This generally means that either internal and external users must use the same URL to access the system (the external URL), or the internal URL is otherwise redirected or "spoofed" at the DNS level so while it might appear to users they are on the internal URL, they are actually accessing the system via another.  This latter setup for redirection is out of scope.  The PeopleSoft GSC supports setting up the rest of this environment where the internal and external users share the same setup. For more detailed assistance, the Server Tools team in the GSC would need a new SR created asking for "how to setup Reverse Proxy Server".

2. Utilize Load Balancing systems to virtualize the URLs used.  The Load Balancer handles the session affinity and traffic redirection. Implementations such as this are out of scope, but more information can be found in the documentation listed above.   The idea here being that an internal user touching the internal URL is actually remapped to the load balancer URL which is what is used for the Single Signon setup.  The GSC has no documentation on this scenario and customers are urged to discuss with their consulting partner or seek assistance from other customers via Rugs and User Support group websites for PeopleSoft.

3. As is the case at many customers, external (internet) users access a Virtual Private Network, or VPN, system to gain internal access to the network. This essentially puts them on the LAN/WAN and allows for access to content. However, this doesn't usually work for large external customer bases. It has been used for suppliers, contractors, and the like. This is likely the most secure scenario available. and there is no RPS involved in the configuration unless desired as another internal layer of security.  In this scenario all users access the system via an internal URL which is inaccessable via the DMZ.

4. It is possible, however not recommended, to utilize the Enterprise Portal (EP) as a sort of Proxy server itself. Single Signon would take place, but all internally behind the DMZ. The EP system would collect the content from the other PeopleSoft Applications and present it without the need for the users browser to actually "touch" those other applications. For this scenario, the EP system is granted access through an RPS in the DMZ, and the entire system must utilize an HTML template instead of the Default Dynamic Template. The problem here is that most of the Enterprise Portal features rely on dynamic templates and as such this option would limit functionality. This is generally never recommended and is only rarely implemented.


***GSC ASSISTANCE:
If you are unable to resolve the issue, the following should be sent to your GSC analyst handling the case:
1) weblogic.xml or server.xml (Websphere) from both systems
2) Application and PeopleTools releases from both systems
3) SELECT * from PSMSGNODEDEFN from both systems
4) SELECT * from PSNODEURITEXT from both systems
5) SELECT * from PSTRUSTNODES from both systems
6) SELECT * from PSWEBPROFDEF from both systems or the configuration.properties file if 8.1x/8.2x PeopleTools
7) Screenshot of the Content Reference page used to connect to the content provider.
8) AppServer log entry from the Content Provider time-stamped to the failure with test UserID info.

Thursday, 7 April 2016

DPK

DPK 




The PeopleTools DPK comprises of only 4 zip files

Zip1: Bootstrap DPK
Zip2 & Zip3: PeopleTools Server DPK
Zip4: PeopleTools Client DPK

VirtualBox appliance don't package with PeopleTools. It is only available via Application DPK as part of PUM. If you still wants to setup a PeopleTools environment (using PeopleTools DPK) on VirtualBox, he/she will have to do the following steps:

1. Setup a VirtuaBox VM running Linux or Windows Guest OS (Ensure that they also create a separate disk with enough storage)
2. Ensure this VM has access to the PeopleSoft database running on a different host (provisioned separately)
3. Download the PeopleTools DPK (Linux/Windows) into the VirtualBox VM
4. Extract the bootstrap DPK and run the bootstrap to setup midtier PeopleSoft environment

One thing to note though is that, it is not mandatory to use VirtualBox for setting up the PeopleSoft environment.
With new paradigm (DPKs), they can setup PeopleSoft on a Windows host (bare-metal/Virtual) or a Linux host (bare-metal/Virtual).

Monday, 21 March 2016

ORA-01017:invalid username/password;logon denied

ORA-01017:invalid username/password;logon denied

I got this error when I was trying to login Application designer, With same userid/password I was able to login Peoplesoft application.

Solution :- 

Change SYSADM password or
Reset SYSADM password

ALTER USER SYSADM IDENTIFIED BY <<New Password>>

Step 1. Log into DataMover as the Access ID (Bootstrap mode).
Step 2. Then run the following command:

set log c:\temp\sysadm.log;
CHANGE_ACCESS_PASSWORD SYSADM1 <password>;

Thursday, 17 March 2016

Activity Guide in Peoplesoft

Activity Guide in Peoplesoft :-


PeopleSoft 9.2, PT 8.53 offer a simple way to create these using the guided process functionality.
An activity guide lists the tasks (referred to as action items) that need to be completed by a user or group of users.
Navigate to  PeopleTools>Portal>Activity Guide>Manage Activity Guide Templates; click the Create Template button




Give the activity guide ID name, Title, Description, you can select URL from lookup list.
move to next tab Security






Later move to next tab Advance Options, here you can put the value manually or dynamically
You can identify a method that will be executed whenever an activity guide instance is created from this template (either manually by the Create Instance button or programmatically through the activity guide API)












Here you can put delivered record as well as custom record both.
Oracle recommends that Access the Create List Instance page (click the Create Instance button on the Activity Guide Template - Properties page).







Then come to Configure action items.
you specify initial sequence numbers in units of 10 to permit insertion of new action items into an existing sequence. For example, for a simple activity guide with no summary action items, the initial sequence would be:

10, 20, 30, 40 ...
If your activity guide contains summary as well as detail items, then increment the root-level items by 100 instead of by 10. For example:

100 - Summary item 1
  110, 120, 130, 140, ...
200
300
400 - Summary item 2
  410, 420, 430, 440, ...
500

for ex. I took just one so I kept 10







the publish as pagelet
for ex. I took test so got created with ADMN_TEST









you can click ADMN_TEST and fullfill all 5-6 steps of pagelet requirements.

Finally configure workcenter
click create new workcenter page











Later if you will go to assign tasks












it will be part of it and u can run create instance through batch process also













Thank you!!!

Tuesday, 23 February 2016

How to Create OVA File in PT8.55


1. Create a copy of the zip downloaded files from Oracle Support site;

2. Unzip 1st zip archive from your PUM VirtualBox option; in same folder you should have bootstrap DPK setup and all the zip files downloaded from Oracle Support site;

3. Run PowerShell in Administrator mode;

4. In case you do not have permissions to run PowerShell scripts, run the following command:
Set-executionpolicy remotesigned

5. From PowerShell, navigate to the setup folder(bootstrap DPK folder) from the location where you have unzipped the 1st archive(for example: C:\ PUM16\setup where “PUM16” is the main folder with the downloaded zip files ;

6. Run .\pst-dpk-setup.ps1 script file and it will create your .ova file



7. Import ova file into Virtual box;


8. Create a share folder for this virtual machine:



9. Follow the instruction from the Virtual machine;


10. After login with root user, navigate to the shared folder and run the file script:
./psft-dpk-setup.sh


11. Follow the rest of the instructions from the installed Virtual Machine.





Wednesday, 17 February 2016

Structure of PSACCESSPROFILE table in PT8.55 and how to update SYSADM password in PSACCESSPROFILE table?


Structure of PSACCESSPROFILE table in PT8.55 and how to update SYSADM password in PSACCESSPROFILE table?


A new table PSACCESSPROFILE has been created with new longer fields and the addition of fields IN PT 8.55.The PSACCESSPRFL is deprecated and no longer used.
PSACCESPRFL table was replaced with the PSACCESSPROFILE table capable of providing a more secure implementation.

Desc PSACCESSPROFILE
Name               Null     Type          
------------------ -------- ------------------
SYMBOLICID         NOT NULL VARCHAR2(8 CHAR)
STM_ACCESS_ID      NOT NULL VARCHAR2(254 CHAR)
STM_ACCESS_PSWD    NOT NULL VARCHAR2(254 CHAR)
STM_ACCESS_PART1   NOT NULL VARCHAR2(128 CHAR)
STM_ACCESS_PART2   NOT NULL VARCHAR2(128 CHAR)
ENCRYPTED          NOT NULL NUMBER(38)    
STM_ENCRYPTION_VER NOT NULL NUMBER(38)    
VERSION            NOT NULL NUMBER(38)

To update SYSADM password using PSACCESSPROFILE table run below SQL

UPDATE PSACCESSPROFILE SET STM_ACCESS_ID = 'SYSADM', SYMBOLICID = 'SYSADM1', STM_ACCESS_PSWD = 'SYSADM', VERSION = 0, ENCRYPTED = 0;

Running ENCRYPT_PASSWORD * after update statement is mandatory now.

Please use the normal provided methods for encrypting Passwords and those fields will contain the correct information to ensure properly functioning security of your environments Access ID/Password. The proper methods are:

1. Application Designer -> Tools -> Miscellaneous Defintions -> Access Profiles.
2. CHANGE_ACCESS_PASSWORD via Datamover Bootstrap mode.
3. ENCRYPT_PASSWORD *; via Datamover Boostrap mode. (note: this will encrypt any row that has ENCRYPTED field = 0)


Another new feature is

SHA-2 Hash Algorithm and 4096 Key size Support
When generating private keys for application server-based digital certificates, by default PT 8.55 uses the SHA-256 with RSA encryption algorithm and the 4096 key size. When using PSKeyManager to generate private keys for web server-based digital certificates, the default signing algorithm is SHA-256 with RSA encryption. In addition, the PSOPRDEFN table features a new column for SHA-2 hashed passwords.

Thursday, 11 February 2016

Chinese Characters are displaying Incorrectly in Activity Guide



Chinese Characters are displaying Incorrectly in Activity Guide :-

Issue :-

1. Log into PIA (ZHS)
2. Navigate to PeopleTools > Integration Broker > Integration Network center > Verify network status
3. Some of the chinese characters are not translated/displayed properly

Solution :-

The issue can be resolved by applying PT patch 8.54.09.
Following workaround can be applied to resolve the issue for customers who can't apply 8.54.09.

1) Launch the Application designer
2) Login as Super user.
3) Open html object PTAI_ACTIVITYGUIDE_XSL and change the line

   <xsl:output method="html" encoding="iso-8859-1" indent="yes" />
to
   <xsl:output method="html" encoding="utf-8" indent="yes" />

4) Save the change.
5) Clean the browser cache then re-test this issue.

The purge process did not run because the Oprid configured to start the Process Scheduler did not have the required permissions to run the purge process.

  Purge process - Required permissions The PeopleSoft Oprid used to start the Process Scheduler, as defined in the Scheduler's psprcs.cf...