/** * Add identity * * @param Newscoop\Entity\User $user * @param string $provider * @param string $providerUserId * @return void */ public function addIdentity(User $user, $provider, $providerUserId) { $userIdentity = $this->em->getRepository('Newscoop\\Entity\\UserIdentity')->findOneBy(array('provider' => $provider, 'provider_user_id' => $providerUserId)); if ($userIdentity) { return $userIdentity; } $userIdentity = new UserIdentity($provider, $providerUserId, $user); $this->em->persist($userIdentity); $user->setLastLogin(new \DateTime()); $this->em->flush(); return $userIdentity; }