【问题标题】:Can you call an Oracle Apex application process from another website?您可以从其他网站调用 Oracle Apex 应用程序进程吗?
【发布时间】:2019-12-06 15:14:27
【问题描述】:

我们创建了一个 Oracle Apex 应用程序,多年来一直在为研讨会注册用户。到目前为止,用户在部门主页上单击了一个链接来注册研讨会,然后被带到我们进行注册的应用程序页面。

我们的客户部门现在希望使用一个新网站来列出研讨会,并允许用户只需单击“注册”即可注册,而无需“查看”Oracle Apex 应用程序。他们希望他们得到他们已注册但不必在 Oracle Apex 应用程序中的确认 - 只需返回注册已完成的消息即可。

任何有关如何使用 Oracle Apex 执行此操作的建议都将不胜感激。

【问题讨论】:

  • 您现在如何验证用户身份?在调用“注册”链接之前,新网站是否会以同样的方式进行身份验证?
  • Apex 应用程序基本上由一些 UI 内容、一些数据库内容和一些管道内容组成。如果您的应用程序设计简洁,您可以通过Oracle Rest Data Services 调用数据库的东西——PL/SQL 例程——而无需 UI。
  • 和 Mark 一样,我很好奇身份验证的工作原理以及注册详细信息的来源。我同意 APC 的观点,即最适合您的解决方案可能是使用 ORDS,尽管您可以通过 SQL Workshop 创建 REST API,具体取决于您的 APEX 版本以及您是否使用 ORDS。您使用的是什么版本的 APEX,什么版本的 ORDS?
  • 嗨,我们正在使用 Apex 19.1(从 Apex 5.1 迁移)并计划使用 ORDS,因此这些建议很有意义。谢谢你这么快回复。我们使用基于 SAML2 的基于云的身份验证器 (Okta),因此我们还不确定访问该站点的用户是否已经通过身份验证。如果没有,他们肯定需要先通过 Okta 进行身份验证,然后才能进入注册过程。我们需要他们的用户名进行注册。所以听起来这是非常可行的。我们没有太多的 ORDS 经验,所以任何关于文章、文档的建议都会有所帮助。

标签: oracle oracle-apex


【解决方案1】:

除了安全性,我认为最简单的方法是让部门网站“注册”链接指向 Apex 页面,通过 URL 将任何参数作为页面项传递(例如 :P1_USER,P1_WORKSHOP:patfm,UNIV101:)。该页面可能有一个 Before Header 进程,该进程处理注册,然后调用owa_util.redirect_url 将用户传回部门网站上的成功页面。如果有错误,它会显示在 Apex 页面上,否则用户将永远不会互动。

或者,部门网站编码人员可以使用 AJAX 将页面作为 API 调用,而不是重定向,您 htp.p 您想要返回给他们的任何成功/失败代码,并在您完成后调用 APEX_APPLICATION.STOP_APEX_ENGINE .在这种情况下,任何错误都必须由部门网站处理和显示。

您也可以在按需流程中而不是在标头前流程中实现这一点。它更简洁一些,但如果你以前没有做过,IMO 会有一点学习曲线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多