if(request == null || response == null) {
setStatus(AuthenticationStatus.FAILURE);
} else {
if(session.isConnected()) { // already got a active session going
OAuthSession session = service.getSession();
UserProfile userProfile = session.getUserProfile();
User user = repository.get(userProfile.getId());
if(user == null) { // can't find a matching account, shouldn't really happen
setStatus(AuthenticationStatus.FAILURE);
} else {
setAccount(new UserAccount(user));
setStatus(AuthenticationStatus.SUCCESS);