diff --git a/packages/auth/package.json b/packages/auth/package.json
index 7ce234678f0abf5645071cdd354259b4f2212b6a..e624b7d687892909b9739dd98a7ffd1d88e2fa32 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -29,7 +29,8 @@
   },
   "dependencies": {
     "keycloak-js": "^8.0.0",
-    "lit-element": "^2.1.0"
+    "lit-element": "^2.1.0",
+    "event-target-shim": "^5.0.1"
   },
   "scripts": {
     "clean": "rm dist/*",
diff --git a/packages/auth/src/keycloak.js b/packages/auth/src/keycloak.js
index fbca5033c32ae0b93db7d03dfb9e02f552f465e0..bd2e53d1932e78b5cc6ef28da2a4f94aae028eda 100644
--- a/packages/auth/src/keycloak.js
+++ b/packages/auth/src/keycloak.js
@@ -1,3 +1,5 @@
+import {EventTarget} from "event-target-shim";  // Because EventTarget() doesn't exist on Safari
+
 /**
  * Wraps the keycloak API to support async/await, adds auto token refreshing and consolidates all
  * events into one native "changed" event