/** * @param ApiClientInterface $client * @param string $refreshToken * * @return TokenInterface */ public function findOneByClientAndRefreshToken(ApiClientInterface $client, $refreshToken) { $qb = $this->createQueryBuilder(); $qb->field('client.id')->equals($client->getId()); $qb->field('refreshCode')->equals($refreshToken); $qb->limit(1); return $qb->getQuery()->getSingleResult(); }
/** * @param ApiClientInterface $apiClient * * @return FacadeInterface * * @throws TransformerParameterTypeException */ public function transform($apiClient) { if (!$apiClient instanceof ApiClientInterface) { throw new TransformerParameterTypeException(); } $facade = $this->newFacade(); $facade->id = $apiClient->getId(); $facade->name = $apiClient->getName(); $facade->trusted = $apiClient->isTrusted(); $facade->key = $apiClient->getKey(); $facade->secret = $apiClient->getSecret(); $facade->roles = implode(',', $apiClient->getRoles()); if ($this->authorizationChecker->isGranted(AdministrationPanelStrategy::ROLE_ACCESS_DELETE_API_CLIENT)) { $facade->addLink('_self_delete', $this->generateRoute('open_orchestra_api_api_client_delete', array('apiClientId' => $apiClient->getId()))); } if ($this->authorizationChecker->isGranted(AdministrationPanelStrategy::ROLE_ACCESS_UPDATE_API_CLIENT)) { $facade->addLink('_self_form', $this->generateRoute('open_orchestra_backoffice_api_client_form', array('apiClientId' => $apiClient->getId()))); } return $facade; }
/** * @param ApiClientInterface $client * @param UserInterface $user */ protected function revokeNonUsedAccessToken(ApiClientInterface $client, UserInterface $user = null) { $searchParams = array('client.id' => $client->getId(), 'blocked' => false); $searchParams['user.id'] = null; if ($user instanceof UserInterface && method_exists($user, 'getId')) { $searchParams['user.id'] = $user->getId(); } $accessTokens = $this->accessTokenRepository->findBy($searchParams); /** @var TokenInterface $accessToken */ foreach ($accessTokens as $accessToken) { $accessToken->block(); $this->objectManager->persist($accessToken); } $this->objectManager->flush(); }