diff --git a/packages/auth/README.md b/packages/auth/README.md index 2523a22424ca719497b1dd9c794eaac218dda3c5..7b3824ade0f21b2f67fe3f60f052f5796b5058ed 100644 --- a/packages/auth/README.md +++ b/packages/auth/README.md @@ -14,6 +14,10 @@ - `force-login` (optional, default: off): if enabled a login will be forced, there never will be a login button - example `<vpu-auth client-id="my-dev-client-id" force-login></vpu-auth>` +## Events + +TODO + ## Local development ```bash diff --git a/packages/auth/vpu-auth.js b/packages/auth/vpu-auth.js index df2d86931ca783e72f277d63209356e6b4b326ce..302c0044d35e0705e8d4b65b5a3e15c7937df3a9 100644 --- a/packages/auth/vpu-auth.js +++ b/packages/auth/vpu-auth.js @@ -29,9 +29,10 @@ class VPUAuth extends LitElement { this.name = ""; this.personId = ""; - // Create the init event + // Create the events this.initEvent = new CustomEvent("vpu-auth-init", { "detail": "KeyCloak init event" }); this.personInitEvent = new CustomEvent("vpu-auth-person-init", { "detail": "KeyCloak person init event" }); + this.keycloakDataUpdateEvent = new CustomEvent("vpu-auth-keycloak-data-update", { "detail": "KeyCloak data was updated" }); } /** @@ -160,6 +161,7 @@ class VPUAuth extends LitElement { this.shadowRoot.querySelector('#login-block').style.display = state ? "flex" : "none"; this.shadowRoot.querySelector('#logout-block').style.display = state ? "none" : "flex"; } + /** * Dispatches the person init event */ @@ -167,6 +169,13 @@ class VPUAuth extends LitElement { document.dispatchEvent(this.personInitEvent); } + /** + * Dispatches the keycloak data update event + */ + dispatchKeycloakDataUpdateEvent() { + document.dispatchEvent(this.keycloakDataUpdateEvent); + } + updateKeycloakData() { this.name = this._keycloak.idTokenParsed.name; this.token = this._keycloak.token; @@ -179,6 +188,7 @@ class VPUAuth extends LitElement { window.VPUPersonId = this.personId; console.log("Bearer " + this.token); + this.dispatchKeycloakDataUpdateEvent(); } render() {