コード例 #1
0
 /**
  * @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 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);
     }
 }
コード例 #3
0
 public function onPreAuthorizationProcess(OAuthEvent $event)
 {
     $repo = $this->entityManager->getRepository('ActsCamdramApiBundle:Authorization');
     if ($auth = $repo->findOne($event->getUser(), $event->getClient())) {
         if ($auth->hasScopes($this->getScopes())) {
             $event->setAuthorizedClient(true);
         }
     }
 }
コード例 #4
0
 public function onPreAuthorizationProcess(OAuthEvent $event)
 {
     if ($event->getClient()->getTrusted()) {
         $event->setAuthorizedClient(true);
         return true;
     }
     if ($user = $this->getUser($event)) {
         $event->setAuthorizedClient($user->hasClient($event->getClient()));
     }
 }