22120

Peoplesoft screens in an iFrame

Question:

Has anyone successfully integrated Peoplesoft screens or navigation via an iFrame in a third party app like Liferay or uPortal?

We are trying to integrate Liferay Portal as a web front end and consume some of the PeopleSoft screens in an iFrame portlet. Both the Liferay Portal and Peoplsoft systems are on different top level domains. We are using Oracle Single Sign On on bot the applications. We have a couple of issues with this.

<ul><li>The screens display in the iFrame - however, the JavaScript on the PeopleSoft does not execute and keeps spinning. In Chrome devtools console, there is the following error:</li> </ul><blockquote>

Uncaught TypeError: Cannot read property 'getStoredData' of undefinedPT_PAGESCRIPT_win0_MIN_1.jsp

</blockquote> <ul><li>If not already signed in to the PeopleSoft system via SSO - the Login page pops out of the iFrame on IE browsers. To clarify based on comments below, the SSO happens for the first app like Liferay, however the user didnot try to go the second app PeopleSoft yet. So the SSO cookies for the second app (PeopleSoft) are not yet in the session. So when we access the page with the iFrame containing the Peoplesoft page, it pops out of the frame in IE trying to establish SSO session and cookies with PeopleSoft. </li> </ul>

Has anyone been able to solve any of these issues?

Any insight would be much appreciated. I can provide more details if needed.

Thanks!

Edited for clarification based on comments below.

Answer1:

We have been able to resolve the above 2 issues.

<ul><li>First, we created a new instance of the portal in the same parent domain as the PeopleSoft domain and ensured both were using SSL so the protocol matched. This resolved the cross domain JS errors</li> <li>Second, we changed our Oracle IdM SSO login flow to always redirect to a new PeopleSoft PIA which redirects back to Liferay's original URL. This ensures there is a valid PeopleSoft session and prevents iFrame popouts along with other integration issues. There is a lot of changes and work done by our team on this around related use cases(deep links, session timeouts) and flows. I'd be happy to post more details if anyone is proceeding down the same path.</li> </ul>

Thanks for all the comments which helped us dig in the right direction. We also got feedback from other Liferay and PeoplesSoft customers who followed similar approaches.

Recommend

  • indexedDB doesn't reset version when you delete a database on Chrome — bug or user error?
  • Object has no method 'flexslider'
  • Convert base64 image to a file in Node Js
  • Property 'catch' does not exist on type 'PromiseLike
  • Why does this code crash on the distributed app but work in the debugger?
  • RethinkDB: “TypeError: 'Var' object is not callable” when using lambda function in filter
  • KoGrid JSON Dynamic widgets, with nested server calls
  • Cleave.js Phone CA
  • jQuery file download plugin
  • Can one add a complex type item to ListModel?
  • Understanding Intl.DateTimeFormat as a JavaScript object
  • JSON Error when parsing “… has no method 'replace'”
  • Problem in concatenation of objects in javascript
  • What is the equivalent of Android permissions in iOS development? [duplicate]
  • Neo4j: Filter nodes based on aggregate function
  • What's wrong with my datatrigger binding?
  • How to set current CultureUI via XAML binding
  • How to map Request parameter in Spring?
  • How to define an array of floats in Shader properties?
  • How to enable mapping the private property of the entity
  • react split panel resize
  • Change Checkbox value without raising event
  • Monotouch crashes with NullReferenceException on non nullable object
  • using html data-attributes as css-variable (i.e. text-shadow)
  • How to retrieve information from antrun back to maven?
  • Getting error 'Cannot read property 'document' of undefined' while importing exp
  • Hide HTML elements without javascript, only CSS
  • Not able to aggregate on nested fields in elasticsearch
  • ViewController With Transparent Background Entering Current ViewController With Push Transition
  • how to save the state in userdefaults of accessory checkmark-iphone
  • Database structure design with variable amounts of fields
  • How do I fake an specific browser client when using Java's Net library?
  • How to get a value (ex: baseURL) in every Karate feature?
  • Javascript Callbacks with Object constructor
  • Return words with double consecutive letters
  • InvalidAuthenticityToken between subdomains when logging in with Rails app
  • SQL merge duplicate rows and join values that are different
  • LevelDB C iterator
  • Can't mass-assign protected attributes when import data from csv file
  • Checking variable from a different class in C#