/** * {@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; }
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); }
/** * @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) { } }
/** * 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); }