diff --git a/js/libs/keycloak-js/lib/keycloak.js b/js/libs/keycloak-js/lib/keycloak.js index 76a8b8d73b32..1835cc71e7a8 100755 --- a/js/libs/keycloak-js/lib/keycloak.js +++ b/js/libs/keycloak-js/lib/keycloak.js @@ -170,6 +170,10 @@ function Keycloak (config) { kc.acrValues = initOptions.acrValues; } + if (initOptions.forwardParameters) { + kc.forwardParameters = initOptions.forwardParameters; + } + if (typeof initOptions.messageReceiveTimeout === 'number' && initOptions.messageReceiveTimeout > 0) { kc.messageReceiveTimeout = initOptions.messageReceiveTimeout; } else { @@ -466,6 +470,13 @@ function Keycloak (config) { url += '&acr_values=' + encodeURIComponent(options.acrValues || kc.acrValues); } + if ((options && options.forwardParameters) || kc.forwardParameters) { + var forwardParameters = (options && options.forwardParameters) || kc.forwardParameters; + url = Object.keys(forwardParameters).reduce(function (url, forwardParameter) { + return url + "&" + forwardParameter + "=" + encodeURIComponent(forwardParameters[forwardParameter]); + }, url); + } + if (kc.pkceMethod) { try { const codeVerifier = generateCodeVerifier(96);