/** * @param OAuthEvent $event */ public function onPreAuthorizationProcess(OAuthEvent $event) { /** @var User $user */ $user = $event->getUser(); if ($user->getClients()->contains($event->getClient())) { $event->setAuthorizedClient(true); return; } $user->getClients()->add($event->getClient()); $this->manager->flush(); $event->setAuthorizedClient(true); }
public function onPostAuthorizationProcess(OAuthEvent $event) { if ($event->isAuthorizedClient() && null !== ($client = $event->getClient())) { $repo = $this->entityManager->getRepository('ActsCamdramApiBundle:Authorization'); if ($auth = $repo->findOne($event->getUser(), $event->getClient())) { $auth->addScopes($this->getScopes()); $this->entityManager->flush(); } else { /** @var User $user */ $auth = new Authorization(); $auth->setClient($event->getClient())->setUser($event->getUser())->setScopes($this->getScopes()); $this->entityManager->persist($auth); $this->entityManager->flush(); } } }
public function onPostAuthorizationProcess(OAuthEvent $event) { if (!$event->isAuthorizedClient()) { return; } if (null === ($client = $event->getClient())) { return; } $user = $this->getUser($event); $scope = $this->getScope(); $em = $this->doctrine->getManager(); $authRepo = $em->getRepository('LoginCidadaoCoreBundle:Authorization'); $currentAuth = $authRepo->findOneBy(array('person' => $user, 'client' => $client)); // if the authorization is already there, update it. if ($currentAuth instanceof Authorization) { $merged = array_merge($currentAuth->getScope(), $scope); $currentAuth->setScope($merged); } else { $authorization = new Authorization(); $authorization->setClient($client); $authorization->setPerson($user); $authorization->setScope($scope); $em->persist($authorization); } $em->flush(); }
public function onPostAuthorizationProcess(OAuthEvent $event) { if ($event->isAuthorizedClient()) { if (null !== ($client = $event->getClient())) { $this->setupNotificationSettings($event); } } }
public function onPostAuthorizationProcess(OAuthEvent $event) { if ($event->isAuthorizedClient()) { if (null !== ($client = $event->getClient())) { $user = $this->getUser($event); $user->addOauthClient($client); $this->em->flush(); } } }
public function onPreAuthorizationProcess(OAuthEvent $event) { /** @var Client $client */ $client = $event->getClient(); if ($client->isSkipClientAuth()) { $event->setAuthorizedClient(true); } else { /** @var UserInterface $user */ $user = $event->getUser(); //if there is already a token, don't prompt the request for the permissions again //@TODO need to verify you asking for the same permissions! $event->setAuthorizedClient($this->accessTokenManager->findTokenBy(['client' => $client, 'user' => $user]) != null); } }