配置 Oracle APEX 以使用 SAML 身份验证

Configuring Oracle APEX to use SAML authentication

我正在尝试将 Oracle APEX 配置为使用 SAML,并将 ForgeRock 作为 IDP。我是 Enterprise DB 21.3.0.0 和 ORDS 21.4.1 上的 运行 APEX 21.2.0(所有图像都来自 Oracle 容器注册表)。完成文档 here.

我想我就快到了,我在 APEX 中完成了 SAML 配置,我在 ForgeRock 中创建了一个远程 SP,应用程序按预期重定向。一旦我使用 ForgeRock IDM 进行身份验证,我就会被重定向回 apex_authentication.saml_callback 端点,然后我会收到一个错误页面。 APEX 日志有以下错误:

- ora_sqlerrm: ORA-19032: Expected XML tag , got no content
ORA-06512: at "SYS.XMLTYPE", line 310
ORA-06512: at line 1
ORA-06512: at "APEX_210200.WWV_FLOW_XML_SECURITY", line 1096
ORA-06512: at "APEX_210200.WWV_FLOW_XML_SECURITY", line 1307
ORA-06512: at "APEX_210200.WWV_FLOW_AUTHENTICATION_SAML", line 462
ORA-06512: at "APEX_210200.WWV_FLOW_AUTHENTICATION_NATIVE", line 1268
ORA-06512: at "APEX_210200.WWV_FLOW_PLUGIN", line 3500
ORA-06512: at "APEX_210200.WWV_FLOW_PLUGIN", line 4097
ORA-06512: at "APEX_210200.WWV_FLOW_AUTHENTICATION", line 1688

我似乎无法在 SAML 身份验证上下文中找到任何关于此错误的有用信息。我猜在处理断言时存在问题。我仔细检查了证书,断言在 SAML Tracer 中看起来不错,所以我被卡住了。有什么想法我想念的吗?是否有可能更有用的其他日志?

您需要应用 Apex 21.2 的最新补丁集才能解决此问题。它已在 Apex 21.2.2 中修复,但现在已升级到 21.2.6。即使您解决了这个问题,也可能不会一帆风顺,具体取决于您使用的 IdP。 可以在 this thread

上找到一些有用的提示和帮助