@Override
 public String getPassword() {
   return user.getPassword();
 }
 @Override
 public String getUsername() {
   return user.getEmail();
 }
 @Override
 public Collection<? extends GrantedAuthority> getAuthorities() {
   return user.getRoles().stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());
 }