diff --git a/packages/auth/package.json b/packages/auth/package.json
index 40271f8a1044201737b2193645bfa1d1fb1a9105..8e11571f9ff3a90f9ad7ffd3dbd6ed91de69ea4e 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -33,7 +33,6 @@
     "@open-wc/scoped-elements": "^1.1.1",
     "dbp-common": "^1.0.0",
     "event-target-shim": "^5.0.1",
-    "keycloak-js": "^10.0",
     "lit-element": "^2.3.1"
   },
   "scripts": {
diff --git a/packages/auth/src/keycloak.js b/packages/auth/src/keycloak.js
index 591382221a265af347fde17f6b86746b59818a7b..d13c7279c8cb6a8798d6e30a2ddfc0cdab6f37fe 100644
--- a/packages/auth/src/keycloak.js
+++ b/packages/auth/src/keycloak.js
@@ -1,5 +1,21 @@
 import {EventTarget} from "event-target-shim";  // Because EventTarget() doesn't exist on Safari
-import Keycloak from "keycloak-js";
+
+
+/**
+ * Imports the keycloak JS API as if it was a module.
+ *
+ * @param baseUrl {string}
+ */
+async function importKeycloak(baseUrl) {
+    const keycloakSrc = baseUrl + '/js/keycloak.min.js';
+    // Importing will write it to window so we take it from there
+    await import(keycloakSrc);
+    if (importKeycloak._keycloakMod !== undefined)
+        return importKeycloak._keycloakMod;
+    importKeycloak._keycloakMod = window.Keycloak;
+    delete window.Keycloak;
+    return importKeycloak._keycloakMod;
+}
 
 
 const promiseTimeout = function(ms, promise) {
@@ -88,6 +104,8 @@ export class KeycloakWrapper extends EventTarget {
         if (this._keycloak !== null)
             return;
 
+        const Keycloak = await importKeycloak(this._baseURL);
+
         this._keycloak = Keycloak({
             url: this._baseURL,
             realm: this._realm,
diff --git a/packages/location-select/package.json b/packages/location-select/package.json
index 39d6240e7274757a9cfb0a2cee0f6d279a2815f7..8dccd2fc40befa396b862340e0a4cc5cd751d462 100644
--- a/packages/location-select/package.json
+++ b/packages/location-select/package.json
@@ -30,7 +30,6 @@
     "dbp-auth": "^1.0.0",
     "dbp-common": "^1.0.0",
     "jquery": "^3.4.1",
-    "keycloak-js": "^10.0",
     "lit-element": "^2.3.1",
     "select2": "^4.0.10"
   },
diff --git a/packages/person-select/package.json b/packages/person-select/package.json
index 294cdafd2984c844e5bb0141f2e2a98664937f71..4d058df1a5f5da313aeec08a05f5bb5da51f06a9 100644
--- a/packages/person-select/package.json
+++ b/packages/person-select/package.json
@@ -30,7 +30,6 @@
     "dbp-auth": "^1.0.0",
     "dbp-common": "^1.0.0",
     "jquery": "^3.4.1",
-    "keycloak-js": "^10.0",
     "lit-element": "^2.3.1",
     "select2": "^4.0.10"
   },
diff --git a/yarn.lock b/yarn.lock
index 0932724a0e6a1b5497b53108f0c899d061932a91..3f36f1b63a603a4a78c0342457fc914690d882c3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1677,7 +1677,7 @@ base64-arraybuffer@0.1.5:
   resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
   integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg=
 
-base64-js@1.3.1, base64-js@^1.0.2:
+base64-js@^1.0.2:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
   integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
@@ -4960,11 +4960,6 @@ jquery@>=1.7, jquery@^3.4.1:
   resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5"
   integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
 
-js-sha256@0.9.0:
-  version "0.9.0"
-  resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
-  integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==
-
 js-tokens@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -5117,14 +5112,6 @@ karma@^5.0.1, karma@^5.1.0:
     ua-parser-js "0.7.22"
     yargs "^15.3.1"
 
-keycloak-js@^10.0:
-  version "10.0.2"
-  resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-10.0.2.tgz#f0cf5b942627c5221f1466552c40e4624503b77b"
-  integrity sha512-7nkg4Ob1khHGcNbuK36AMndKUEuIQFpNlWU9ygWs7nSBPCI9VZ8dJjjXfKJHm0ewgcqLFGPIJ6bxxRlfcQ6sLg==
-  dependencies:
-    base64-js "1.3.1"
-    js-sha256 "0.9.0"
-
 kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
   version "3.2.2"
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"