コード例 #1
0
 public function authenticate(TokenInterface $token)
 {
     $user = $this->userProvider->loadUserByToken($token);
     if ($user) {
         $authenticatedToken = new ApiToken($user->getRoles());
         $authenticatedToken->setUser($user);
         return $authenticatedToken;
     }
     throw new AuthenticationException('Authentication failed.');
 }
コード例 #2
0
 public function loadUserByToken(ApiToken $token)
 {
     if (empty($token->getToken())) {
         return;
     }
     if ($token->getUserType() === 'user') {
         return $this->em->getRepository('CivixCoreBundle:User')->findOneBy(['token' => $token->getToken()]);
     }
     $session = $this->em->getRepository(Session::class)->findOneByToken($token->getToken());
     if ($session) {
         return $this->em->getRepository('CivixCoreBundle:' . ucfirst($session->getUserType()))->find($session->getUserId());
     }
 }