Skip to Main Content

APEX

Authentication Configuration Procedure not substituting the DISCOVERY_URL

Matt MulvaneyOct 23 2023

I'm setting the Shared Components > Authentication > Configuration Procedure to my_auth_config

my_auth_config is defined as

create or replace procedure my_auth_config (
p_conf in out nocopy apex_authentication.t_configuration )
is
begin
p_conf.authentication_name := 'KEYCLOAK';
p_conf.substitutions := apex_t_varchar2 (
'CREDENTIAL_STATIC_ID', 'KEYCLOAK',
'DISCOVERY_URL' , 'https://identity.example.io/realms/APEX11/.well-known/openid-configuration'
);
end my_auth_config;
/

Note the APEX11 in the URL

My Credential Static ID is KEYCLOAK and correctly labelled in the code

My current authentication scheme is (1) social sign-in (2) Switch in Session = Enabled (3) called KEYCLOAK and again correctly referenced in the code (4) Note APEX10 in the URL

What I want to happen
1. The Authentication scheme has APEX10 in the Discovery URL
2. I want to use my_auth_config to switch to the Discovery URL with APEX11 in the URL

What's actually happening
APEX is performing the substitutions but not the Discovery URL

When debugging on LEVEL9 this is what I see

I see that

  1. The default authentication has been correctly overridden with KEYCLOAK
  2. The substitutions, including the APEX11 discovery URL has been extracted from the procedure
  3. The default credential has been correctly overridden with KEYCLOAK
  4. No attempt has been made to override the discovery URL

I can use the procedure to switch from the (default) authentication scheme KEYCLOAK to NONE. This swtiching works fine. However I an unable to switch the DISCOVERY_URL

Please could you advise

Comments
Post Details
Added on Oct 23 2023
2 comments
169 views