@Override
 public void updateUser(UserDetails user) {
   inMemManager.updateUser(user);
   User userToUpdate = userRepository.findFirstByUsername(user.getUsername());
   userToUpdate.setPassword(user.getPassword());
   for (GrantedAuthority authority : user.getAuthorities()) {
     StringTokenizer stringTokenizer = new StringTokenizer(authority.getAuthority(), ":");
     String rl = stringTokenizer.nextToken();
     String pj = stringTokenizer.nextToken();
     boolean found = false;
     for (Role role : userToUpdate.getRoles()) {
       if (role.getProject().equals(pj)) {
         role.setRole(Role.RoleEnum.valueOf(rl));
         found = true;
       }
     }
     if (!found) {
       Role role = new Role();
       role.setRole(Role.RoleEnum.valueOf(rl));
       role.setProject(pj);
       userToUpdate.getRoles().add(role);
     }
   }
   userRepository.save(userToUpdate);
 }