SI-2473-Acknowledge-Client-Roles
diff --git a/package.json b/package.json
index 195a015..97bb3cf 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,8 @@
     "sy-build-noprod": "npm run sy-pre-build && ng build --base-href /contactdatabase/ && npm run sy-post-build",
     "sy-build-prod": "npm run sy-pre-build && ng build --prod --aot --base-href /contactdatabase/ && npm run sy-post-build",
     "start-in-docker": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker.conf.json",
-    "start-in-docker-unsecure": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker-unsecure.conf.json"
+    "start-in-docker-unsecure": "npm run sy-pre-start && ng serve --optimization=false --vendor-chunk --common-chunk --host=0.0.0.0 --disableHostCheck=true --proxy-config proxy-docker-unsecure.conf.json",
+    "sl": "npm run start-local"
   },
   "private": true,
   "dependencies": {
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index ac73b36..650cfba 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -77,7 +77,20 @@
     user.username = decoded.preferred_username;
     user.itemName = decoded.preferred_username;
     user.name = firstName + ' ' + lastName;
-    user.roles = decoded.realm_access.roles;
+    user.roles = [];
+
+    //add realm roles to jwtPayload.roles
+    if (decoded.realm_access && decoded.realm_access.roles) {
+      user.roles = decoded.realm_access.roles;
+    }
+
+    const clientRoles = [];
+    const resourceAccessList = decoded.resource_access;
+    for (const el in resourceAccessList) {
+      clientRoles.push(...resourceAccessList[el].roles);
+    }
+    user.roles.push(...clientRoles);
+
     localStorage.setItem('token', accessToken);
     this.appSandbox.setUser(user);
   }