/**
  * @Route("/{id}/edit", name="lc_admin_app_edit")
  * @Template()
  */
 public function editAction(Request $request, $id)
 {
     $em = $this->getDoctrine()->getManager();
     $client = $em->getRepository('LoginCidadaoOAuthBundle:Client')->find($id);
     if (!$client) {
         return $this->redirect($this->generateUrl('lc_admin_app_new'));
     }
     $form = $this->createForm('LoginCidadao\\CoreBundle\\Form\\Type\\ClientFormType', $client);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $metadata = $form->get('metadata')->getData();
         $client->setAllowedGrantTypes(Client::getAllGrants());
         $client->setMetadata($metadata);
         $metadata->setClient($client);
         $clientManager = $this->container->get('fos_oauth_server.client_manager');
         $clientManager->updateClient($client);
         $translator = $this->get('translator');
         $this->get('session')->getFlashBag()->add('success', $translator->trans('Updated successfully!'));
         return $this->redirectToRoute('lc_admin_app_edit', compact('id'));
     }
     return $this->render('LoginCidadaoCoreBundle:Admin\\Client:new.html.twig', array('form' => $form->createView(), 'client' => $client));
 }
 /**
  * @Route("/{id}/edit", name="lc_dev_client_edit")
  * @Template()
  */
 public function editAction(Request $request, $id)
 {
     $em = $this->getDoctrine()->getManager();
     $client = $em->getRepository('LoginCidadaoOAuthBundle:Client')->createQueryBuilder('c')->where(':person MEMBER OF c.owners')->andWhere('c.id = :id')->setParameters(array('id' => $id, 'person' => $this->getUser()))->getQuery()->getOneOrNullResult();
     if (!$client) {
         return $this->redirect($this->generateUrl('lc_dev_client_new'));
     }
     $form = $this->createForm('LoginCidadao\\CoreBundle\\Form\\Type\\ClientFormType', $client);
     $form->handleRequest($request);
     $messages = '';
     if ($form->isValid()) {
         $metadata = $form->get('metadata')->getData();
         $client->setAllowedGrantTypes(Client::getAllGrants());
         $client->setMetadata($metadata);
         $metadata->setClient($client);
         $clientManager = $this->container->get('fos_oauth_server.client_manager');
         $clientManager->updateClient($client);
         $translator = $this->get('translator');
         $this->get('session')->getFlashBag()->add('success', $translator->trans('Updated successfully!'));
         return $this->redirectToRoute('lc_dev_client_edit', compact('id'));
     }
     return $this->render('LoginCidadaoCoreBundle:Dev\\Client:new.html.twig', array('form' => $form->createView(), 'client' => $client, 'messages' => $messages));
 }
 private function checkRegistrationAccessToken(Request $request, Client $client)
 {
     $raw = $request->get('access_token', $request->headers->get('authorization'));
     $token = str_replace('Bearer ', '', $raw);
     $metadata = $client->getMetadata();
     if (!$token || $metadata->getRegistrationAccessToken() !== $token) {
         throw $this->createAccessDeniedException();
     }
 }
Beispiel #4
0
 /**
  * @param Client $client
  * @return array
  */
 public function getClientScope(Client $client)
 {
     $authorizations = $this->getAuthorizations();
     foreach ($authorizations as $auth) {
         $c = $auth->getClient();
         if ($c->getId() == $client->getId()) {
             return $auth->getScope();
         }
     }
     return null;
 }
 /**
  * @return Client
  */
 public function toClient()
 {
     $name = $this->getClientName();
     $hasName = $name !== null && strlen($name) > 0;
     $grantTypes = $this->getGrantTypes();
     $clientUri = $this->getClientUri();
     $tosUri = $this->getTosUri();
     $clientName = $this->getClientName();
     $redirectUris = $this->getRedirectUris();
     $client = new Client();
     if ($grantTypes) {
         $client->setAllowedGrantTypes($grantTypes);
     }
     if ($clientUri) {
         $client->setLandingPageUrl($clientUri)->setSiteUrl($clientUri);
     }
     if ($tosUri) {
         $client->setTermsOfUseUrl($tosUri);
     }
     if ($clientName) {
         $client->setName($clientName);
     }
     if ($redirectUris) {
         $client->setRedirectUris($redirectUris);
     }
     $client->setVisible(false)->setPublished(false);
     return $client;
 }