Exemple #1
0
 /**
  * Handle login.
  *
  * @param Request $request
  *
  * @throws Ex\DisabledProviderException
  *
  * @return bool
  */
 protected function login(Request $request)
 {
     $providerName = $this->providerManager->getProviderName();
     $provider = $this->config->getProvider($providerName);
     if (!$provider->isEnabled()) {
         throw new Ex\DisabledProviderException('Invalid provider setting.');
     }
     if ($this->session->hasAuthorisation()) {
         $this->setDebugMessage('Session has existing authorisation.');
         return true;
     }
     // Set user feedback messages
     $this->setDebugMessage(sprintf('Login was route complete for %s, redirecting for authentication.', $request->getRequestUri()));
     return false;
 }
Exemple #2
0
 /**
  * Get the Authorisation\AuthorisationInterface class to handle the request.
  *
  * @param \Silex\Application $app
  *
  * @throws Exception\InvalidAuthorisationRequestException
  * @throws \RuntimeException
  */
 protected function setProviderHandler(Application $app)
 {
     $providerName = $this->getProviderName();
     if ($providerName === null) {
         $app['logger.system']->debug('[Members][Provider]: Request was missing a provider.', ['event' => 'extensions']);
         throw new Exception\InvalidAuthorisationRequestException('Authentication configuration error. Unable to proceed!');
     }
     $providerConfig = $this->config->getProvider($providerName);
     if ($providerConfig === null) {
         $app['logger.system']->debug('[Members][Provider]: Request provider did not match any configured providers.', ['event' => 'extensions']);
         throw new Exception\InvalidAuthorisationRequestException('Authentication configuration error. Unable to proceed!');
     }
     if (!$providerConfig->isEnabled() && $providerName !== 'Generic') {
         $app['logger.system']->debug('[Members][Provider]: Request provider was disabled.', ['event' => 'extensions']);
         throw new Exception\InvalidAuthorisationRequestException('Authentication configuration error. Unable to proceed!');
     }
     $handlerKey = $this->getHandlerKey($providerName);
     $app['members.oauth.handler'] = $app->share(function ($app) use($handlerKey) {
         return $app[$handlerKey]([]);
     });
     $this->providerHandler = $app['members.oauth.handler'];
 }