@Override public UserDetails loadUserDetails(OpenIDAuthenticationToken token) { MotechUser user = allMotechUsers.findUserByOpenId(token.getName()); if (user == null) { List<String> roles = new ArrayList<String>(); if (allMotechUsers.getOpenIdUsers().isEmpty()) { for (MotechRole role : allMotechRoles.getRoles()) { roles.add(role.getRoleName()); } } user = new MotechUser(getAttribute(token.getAttributes(), "Email"), "", getAttribute(token.getAttributes(), "Email"), "", roles, token.getName(), Locale.getDefault()); allMotechUsers.addOpenIdUser(user); } return new User(user.getUserName(), user.getPassword(), user.isActive(), true, true, true, authoritiesService.authoritiesFor(user)); }