Esempio n. 1
0
 /**
  * @param $clientId
  * @param $username
  * @param $password
  *
  * @return array|boolean
  */
 protected function checkUserCredentials($clientId, $username, $password)
 {
     try {
         if (null === ($client = $this->app['repo.api-applications']->findByClientId($clientId))) {
             return false;
         }
         $this->setClient($client);
         $usrId = $this->app['auth.native']->getUsrId($username, $password, Request::createFromGlobals());
         if (!$usrId) {
             return false;
         }
         if (null === ($user = $this->app['repo.users']->find($usrId))) {
             return false;
         }
         $account = $this->updateAccount($user);
         return ['redirect_uri' => $this->client->getRedirectUri(), 'client_id' => $this->client->getClient(), 'account_id' => $account->getId()];
     } catch (AccountLockedException $e) {
         return false;
     } catch (RequireCaptchaException $e) {
         return false;
     } catch (\Exception $e) {
         return false;
     }
 }
 /**
  * Authorize application to use a grant password type.
  *
  * @param Request        $request
  * @param ApiApplication $application
  *
  * @return JsonResponse
  */
 public function authorizeGrantPassword(Request $request, ApiApplication $application)
 {
     $this->assertJsonRequestFormat($request);
     $application->setGrantPassword((bool) $request->request->get('grant'));
     $this->getApiApplicationManipulator()->update($application);
     return $this->app->json(['success' => true]);
 }
Esempio n. 3
0
 /**
  * Authorize application to use a grant password type.
  *
  * @param Application    $app
  * @param Request        $request
  * @param ApiApplication $application
  *
  * @return JsonResponse
  */
 public function authorizeGrantPassword(Application $app, Request $request, ApiApplication $application)
 {
     if (!$request->isXmlHttpRequest() || !array_key_exists($request->getMimeType('json'), array_flip($request->getAcceptableContentTypes()))) {
         $app->abort(400, 'Bad request format, only JSON is allowed');
     }
     $application->setGrantPassword((bool) $request->request->get('grant'));
     $app['manipulator.api-application']->update($application);
     return $app->json(['success' => true]);
 }
Esempio n. 4
0
 /**
  * @param ApiApplication $application
  *
  * @return ApiAccount
  */
 public function setApplication(ApiApplication $application)
 {
     $application->addAccount($this);
     $this->application = $application;
     return $this;
 }
Esempio n. 5
0
 private function getUrl(ApiApplication $application, WebhookEventDelivery $delivery)
 {
     return sprintf('%s#%s', $application->getWebhookUrl(), $delivery->getId());
 }
 private function doSetWebhookUrl(ApiApplication $application, $url)
 {
     if (false === filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED | FILTER_FLAG_HOST_REQUIRED)) {
         throw new InvalidArgumentException(sprintf('Webhook Url %s is not legal.', $url));
     }
     $application->setWebhookUrl($url);
 }