createRedirectResponse() public method

Creates a redirect Response.
public createRedirectResponse ( Request $request, string $path, integer $status = 302 ) : Response
$request Symfony\Component\HttpFoundation\Request A Request instance
$path string A path (an absolute path (/foo), an absolute URL (http://...), or a route name (foo))
$status integer The status code
return Response A RedirectResponse instance
Ejemplo n.º 1
0
 /**
  * {@inheritDoc}
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     // redirect to the login url if there are several resource owners
     if (null === $this->resourceOwner) {
         return $this->httpUtils->createRedirectResponse($request, $this->loginPath);
     }
     // otherwise start authentication
     $authorizationUrl = $this->resourceOwner->getAuthorizationUrl($this->httpUtils->createRequest($request, $this->checkPath)->getUri());
     return $this->httpUtils->createRedirectResponse($request, $authorizationUrl);
 }
Ejemplo n.º 2
0
 /**
  * {@inheritDoc}
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     if (!$this->httpUtils->checkRequestPath($request, $this->checkPath)) {
         if ($this->httpUtils->checkRequestPath($request, $this->loginPath)) {
             $request->getSession()->remove('_security.target_path');
         }
         $authorizationUrl = $this->oauthProvider->getAuthorizationUrl($request);
         return $this->httpUtils->createRedirectResponse($request, $authorizationUrl);
     }
     throw $authException;
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $this->logger->debug('After login');
     $path = $this->defaultPath;
     if ($request->getSession()->has('order')) {
         $this->logger->debug('Order to authenticate');
         $request->getSession()->get('order')->authenticateWith($token->getUser());
         $path = $this->orderNextStepRoute;
     }
     $this->logger->debug("Redirect to {$path}");
     return $this->httpUtils->createRedirectResponse($request, $path);
 }
Ejemplo n.º 4
0
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     if (!$exception instanceof TermsNotAgreedException) {
         return;
     }
     $route = 'tos_agree';
     $request = $event->getRequest();
     $request->getSession()->set('tos_continue_url', $request->getRequestUri());
     $response = $this->httpUtils->createRedirectResponse($request, $route);
     $event->setResponse($response);
 }
Ejemplo n.º 5
0
 /**
  * {@inheritDoc}
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     if ($this->useForward) {
         $subRequest = $this->httpUtils->createRequest($request, $this->loginPath);
         $response = $this->httpKernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
         if (200 === $response->getStatusCode()) {
             $response->headers->set('X-Status-Code', 401);
         }
         return $response;
     }
     return $this->httpUtils->createRedirectResponse($request, $this->loginPath);
 }
 /**
  * @param \Symfony\Component\HttpFoundation\Request $request
  * @throws \Symfony\Component\Process\Exception\RuntimeException
  * @return \Symfony\Component\HttpFoundation\Response|SamlSpInfo
  */
 function manage(Request $request)
 {
     $serviceInfo = $this->serviceInfoCollection->findByAS($request->query->get('as'));
     if (!$serviceInfo) {
         return $this->httpUtils->createRedirectResponse($request, $request->attributes->get('discovery_path') . '?type=metadata');
     }
     $serviceInfo->getSpProvider()->setRequest($request);
     $ed = $serviceInfo->getSpProvider()->getEntityDescriptor();
     $context = new SerializationContext();
     $ed->getXml($context->getDocument(), $context);
     $result = new Response($context->getDocument()->saveXML());
     $result->headers->set('Content-Type', 'application/samlmetadata+xml');
     return $result;
 }
Ejemplo n.º 7
0
    public function testCreateRedirectResponse()
    {
        $utils = new HttpUtils($this->getRouter());

        // absolute path
        $response = $utils->createRedirectResponse($this->getRequest(), '/foobar');
        $this->assertTrue($response->isRedirect('http://localhost/foobar'));
        $this->assertEquals(302, $response->getStatusCode());

        // absolute URL
        $response = $utils->createRedirectResponse($this->getRequest(), 'http://symfony.com/');
        $this->assertTrue($response->isRedirect('http://symfony.com/'));

        // route name
        $utils = new HttpUtils($router = $this->getMockBuilder('Symfony\Component\Routing\Router')->disableOriginalConstructor()->getMock());
        $router
            ->expects($this->any())
            ->method('generate')
            ->with('foobar', array(), true)
            ->will($this->returnValue('http://localhost/foo/bar'))
        ;
        $router
            ->expects($this->any())
            ->method('getContext')
            ->will($this->returnValue($this->getMock('Symfony\Component\Routing\RequestContext')))
        ;
        $response = $utils->createRedirectResponse($this->getRequest(), 'foobar');
        $this->assertTrue($response->isRedirect('http://localhost/foo/bar'));
    }
Ejemplo n.º 8
0
 public function testCreateRedirectResponseWithRouteName()
 {
     $utils = new HttpUtils($urlGenerator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface'));
     $urlGenerator->expects($this->any())->method('generate')->with('foobar', array(), UrlGeneratorInterface::ABSOLUTE_URL)->will($this->returnValue('http://localhost/foo/bar'));
     $urlGenerator->expects($this->any())->method('getContext')->will($this->returnValue($this->getMock('Symfony\\Component\\Routing\\RequestContext')));
     $response = $utils->createRedirectResponse($this->getRequest(), 'foobar');
     $this->assertTrue($response->isRedirect('http://localhost/foo/bar'));
 }
Ejemplo n.º 9
0
 function it_clears_cart_session_after_logging_out_and_return_default_handler_response(ChannelContextInterface $channelContext, ChannelInterface $channel, HttpUtils $httpUtils, Request $request, Response $response, SessionInterface $session)
 {
     $channelContext->getChannel()->willReturn($channel);
     $channel->getCode()->willReturn('WEB_US');
     $session->remove('_sylius.cart.WEB_US')->shouldBeCalled();
     $httpUtils->createRedirectResponse($request, '/')->willReturn($response);
     $this->onLogoutSuccess($request)->shouldReturn($response);
 }
Ejemplo n.º 10
0
 /**
  * {@inheritdoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $username = $token->getUsername();
     $returnUrl = $this->determineTargetUrl($request);
     $token = $this->tokenRepository->create($username, $returnUrl);
     $query = http_build_query(['application' => $this->applicationName, 'token' => $token->getId()]);
     $url = $this->authenticateUrl . '?' . $query;
     return $this->httpUtils->createRedirectResponse($request, $url);
 }
Ejemplo n.º 11
0
 public function testCreateRedirectResponse()
 {
     $utils = new HttpUtils($generator = $this->getUrlGenerator());
     // absolute path
     $response = $utils->createRedirectResponse($this->getRequest(), '/foobar');
     $this->assertTrue($response->isRedirect('http://localhost/foobar'));
     $this->assertEquals(302, $response->getStatusCode());
     // absolute URL
     $response = $utils->createRedirectResponse($this->getRequest(), 'http://symfony.com/');
     $this->assertTrue($response->isRedirect('http://symfony.com/'));
     // route name
     $utils = new HttpUtils($generator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface'));
     $generator->expects($this->any())->method('generate')->with('foobar', array(), true)->will($this->returnValue('http://localhost/foo/bar'));
     $response = $utils->createRedirectResponse($this->getRequest(), 'foobar');
 }
Ejemplo n.º 12
0
 public function start(Request $request, AuthenticationException $authenticationException = null)
 {
     $this->registerIntent($request);
     $this->registerRequestedScopeService->registerRequestedScope($request);
     return $this->httpUtils->createRedirectResponse($request, 'fos_user_security_login');
 }
Ejemplo n.º 13
0
 /**
  * Starts the authentication scheme.
  *
  * @param Request $request The request that resulted in an AuthenticationException
  * @param AuthenticationException $authException The exception that started the authentication process
  *
  * @return Response
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     return $this->httpUtils->createRedirectResponse($request, $this->loginPath);
 }
Ejemplo n.º 14
0
 /**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 protected function getLogoutRedirectResponse(Request $request)
 {
     return $this->httpUtils->createRedirectResponse($request, $request->attributes->get('local_logout_path'));
 }
Ejemplo n.º 15
0
 /**
  * {@inheritdoc}
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     $returnUrl = $request->getSchemeAndHttpHost() . $request->getRequestUri();
     $url = $this->loginUrl . '?' . http_build_query(['application' => $this->applicationName, 'returnUrl' => $returnUrl, 'loginUrl' => $this->httpUtils->generateUri($request, $this->loginPath)]);
     return $this->httpUtils->createRedirectResponse($request, $url);
 }