if (authentication.getPrincipal() instanceof UserDetails){
UserDetails userDetails = (UserDetails)authentication.getPrincipal();
if (userDetails != null && userDetails.getUsername() != null) {
AdminUser user = adminSecurityService.readAdminUserByUserName(userDetails.getUsername());
if (userDetails instanceof BroadleafExternalAuthenticationUserDetails) {
BroadleafExternalAuthenticationUserDetails broadleafUser = (BroadleafExternalAuthenticationUserDetails)userDetails;
if (user == null) {
//Provision a new user...
user = (AdminUser)entityConfiguration.createEntityInstance(AdminUser.class.getName());
}
saveAdminUser(broadleafUser, user);