SI-2473-Acknowledge-Client-Roles
diff --git a/src/app/common/session-context.ts b/src/app/common/session-context.ts
index 5d66c35..549e3a0 100644
--- a/src/app/common/session-context.ts
+++ b/src/app/common/session-context.ts
@@ -45,8 +45,22 @@
         const jwtHelper: JwtHelper = new JwtHelper();
         const jwtPayload: JwtPayload = new JwtPayload();
         const decoded: any = jwtHelper.decodeToken(accessToken);
+        jwtPayload.roles = [];
         jwtPayload.name = decoded.name;
-        jwtPayload.roles = decoded.realm_access.roles;
+
+        //add realm roles to jwtPayload.roles
+        if (decoded.realm_access && decoded.realm_access.roles) {
+          jwtPayload.roles = decoded.realm_access.roles;
+        }
+
+        //add client roles to jwtPayload.roles
+        const clientRoles = [];
+        const resourceAccessList = decoded.resource_access;
+        for (const el in resourceAccessList) {
+          clientRoles.push(...resourceAccessList[el].roles);
+        }
+        jwtPayload.roles.push(...clientRoles);
+
         return jwtPayload;
     }
 }