コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function apply(base $appbox, Application $app)
 {
     try {
         \API_OAuth2_Application::load_from_client_id($app, \API_OAuth2_Application_OfficePlugin::CLIENT_ID);
     } catch (NotFoundHttpException $e) {
         $client = \API_OAuth2_Application::create($app, null, \API_OAuth2_Application_OfficePlugin::CLIENT_NAME);
         $client->set_activated(true);
         $client->set_grant_password(true);
         $client->set_website("http://www.phraseanet.com");
         $client->set_client_id(\API_OAuth2_Application_OfficePlugin::CLIENT_ID);
         $client->set_client_secret(\API_OAuth2_Application_OfficePlugin::CLIENT_SECRET);
         $client->set_type(\API_OAuth2_Application::DESKTOP_TYPE);
         $client->set_redirect_uri(\API_OAuth2_Application::NATIVE_APP_REDIRECT_URI);
     }
     return true;
 }
コード例 #2
0
 private function insertOauthApps(\Pimple $DI)
 {
     $DI['app-user'] = \API_OAuth2_Application::create($this->container, $DI['user'], 'test application for user');
     $DI['app-user']->set_redirect_uri('http://callback.com/callback/');
     $DI['app-user']->set_website('http://website.com/');
     $DI['app-user']->set_type(\API_OAuth2_Application::WEB_TYPE);
     $DI['app-user_notAdmin'] = \API_OAuth2_Application::create($this->container, $DI['user_notAdmin'], 'test application for user not admin');
     $DI['app-user_notAdmin']->set_redirect_uri('http://callback.com/callback/');
     $DI['app-user_notAdmin']->set_website('http://website.com/');
     $DI['app-user_notAdmin']->set_type(\API_OAuth2_Application::WEB_TYPE);
 }
コード例 #3
0
 /**
  * @cover \Alchemy\Phrasea\Controller\Root\Developers::deleteApp
  */
 public function testDeleteApp()
 {
     $oauthApp = \API_OAuth2_Application::create(self::$DI['app'], self::$DI['user'], 'test app');
     $this->XMLHTTPRequest('DELETE', '/developers/application/' . $oauthApp->get_id() . '/');
     $this->assertTrue(self::$DI['client']->getResponse()->isOk());
     try {
         new \API_OAuth2_Application(self::$DI['app'], $oauthApp->get_id());
         $this->fail('Application not deleted');
     } catch (NotFoundHttpException $e) {
     }
 }
コード例 #4
0
 /**
  * Create a new developer applications
  *
  * @param  Application $app     A Silex application where the controller is mounted on
  * @param  Request     $request The current request
  * @return Response
  */
 public function newApp(Application $app, Request $request)
 {
     if ($request->request->get('type') === \API_OAuth2_Application::DESKTOP_TYPE) {
         $form = new \API_OAuth2_Form_DevAppDesktop($app['request']);
     } else {
         $form = new \API_OAuth2_Form_DevAppInternet($app['request']);
     }
     $violations = $app['validator']->validate($form);
     if ($violations->count() === 0) {
         $application = \API_OAuth2_Application::create($app, $app['authentication']->getUser(), $form->getName());
         $application->set_description($form->getDescription())->set_redirect_uri($form->getSchemeCallback() . $form->getCallback())->set_type($form->getType())->set_website($form->getSchemeWebsite() . $form->getWebsite());
         return $app->redirectPath('developers_application', ['id' => $application->get_id()]);
     }
     $var = ["violations" => $violations, "form" => $form];
     return $app['twig']->render('/developers/application_form.html.twig', $var);
 }