@Override
public Map<String, ?> convertAccessToken(OAuth2AccessToken token,
OAuth2Authentication authentication) {
Map<String,Object> map = (Map<String, Object>) super.convertAccessToken(token, authentication);
Object details = authentication.getPrincipal();
if(details instanceof CustomUserDetails){
CustomUserDetails user = (CustomUserDetails)userDetailsService
.loadUserByUsername(((CustomUserDetails) details).getUsername());
map.put("userId",user.getUserId().toString());
map.put("language", user.getLanguage());
map.put("timeZone", user.getTimeZone());
map.put("email", user.getEmail());
map.put("organizationId", user.getOrganizationId().toString());
if(user.getAdditionInfo() != null){
map.put("additionInfo", user.getAdditionInfo());
}
}else if(details instanceof String){
CustomClientDetails client = (CustomClientDetails) clientDetailsService
.loadClientByClientId((String) details);
map.put("organizationId", client.getOrganizationId());
if(client.getAdditionalInformation() != null){
map.put("additionInfo", client.getAdditionalInformation());
}
}
return map;
}