是否有人成功通过Liferay或uPortal等第三方应用程序中的iFrame成功集成了Peoplesoft屏幕或导航?

我们正在尝试将Liferay Portal集成为Web前端,并在iFrame portlet中使用某些PeopleSoft屏幕。 Liferay Portal和Peoplsoft系统都位于不同的顶级域中。我们在应用程序上使用Oracle Single Sign On。我们有几个问题。


屏幕显示在iFrame中-但是,PeopleSoft上的JavaScript无法执行,并且一直在旋转。在Chrome devtools控制台中,出现以下错误:



  未捕获的TypeError:无法读取undefinedPT_PAGESCRIPT_win0_MIN_1.jsp的属性'getStoredData'



如果尚未通过SSO登录到PeopleSoft系统,则“登录”页面将从IE浏览器的iFrame中弹出。为了基于下面的评论进行澄清,SSO适用于第一个应用程序,例如Liferay,但是用户尚未尝试使用第二个应用程序PeopleSoft。因此,第二个应用程序(PeopleSoft)的SSO cookie尚未在会话中。因此,当我们使用包含PeopleSoft页面的iFrame访问该页面时,它会弹出IE中的框架,试图与PeopleSoft建立SSO会话和cookie。


有谁能够解决这些问题中的任何一个?

任何见解将不胜感激。如果需要,我可以提供更多详细信息。

谢谢!

根据下面的评论进行编辑以澄清。

最佳答案

我们已经能够解决上述两个问题。


首先,我们在与PeopleSoft域相同的父域中创建了门户的新实例,并确保两者都使用SSL,从而使协议匹配。这解决了跨域JS错误
其次,我们更改了Oracle IdM SSO登录流程,以始终重定向到新的PeopleSoft PIA,该新的PeopleSoft PIA重定向回Liferay的原始URL。这样可以确保存在有效的PeopleSoft会话,并防止iFrame弹出窗口以及其他集成问题。我们的团队围绕相关用例(深层链接,会话超时)和流进行了大量更改和工作。如果有人沿着相同的道路前进,我很乐意发布更多详细信息。


感谢您提供的所有意见,这些意见有助于我们向正确的方向发展。我们还从其他Liferay和PeoplesSoft客户那里获得了反馈,他们也采用了类似的方法。

09-25 18:48