setComplete() 공개 메소드

Set session flag completed.
public setComplete ( string $provider, Symfony\Component\Security\Core\Authentication\Token\TokenInterface $token )
$provider string
$token Symfony\Component\Security\Core\Authentication\Token\TokenInterface
 /**
  * Iterate over two-factor providers and ask for two-factor authentication.
  * Each provider can return a response. The first response will be returned.
  *
  * @param AuthenticationContextInterface $context
  *
  * @return Response|null
  */
 public function requestAuthenticationCode(AuthenticationContextInterface $context)
 {
     $token = $context->getToken();
     // Iterate over two-factor providers and ask for completion
     /** @var TwoFactorProviderInterface $provider */
     foreach ($this->providers as $providerName => $provider) {
         if ($this->flagManager->isNotAuthenticated($providerName, $token)) {
             $response = $provider->requestAuthenticationCode($context);
             // Set authentication completed
             if ($context->isAuthenticated()) {
                 $this->eventDispatcher->dispatch(TwoFactorAuthenticationEvents::SUCCESS, new TwoFactorAuthenticationEvent());
                 $this->flagManager->setComplete($providerName, $token);
             } else {
                 if ($context->getRequest()->get($this->authRequestParameter) !== null) {
                     $this->eventDispatcher->dispatch(TwoFactorAuthenticationEvents::FAILURE, new TwoFactorAuthenticationEvent());
                 }
             }
             // Return response
             if ($response instanceof Response) {
                 return $response;
             }
         }
     }
     return null;
 }
 /**
  * @test
  */
 public function setComplete_completeTwoFactor_flagIsSetTrue()
 {
     $token = $this->getMock("Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface");
     //Mock the SessionFlagGenerator
     $this->flagGenerator->expects($this->once())->method("getSessionFlag")->with("providerName", $token)->will($this->returnValue("session_flag"));
     //Mock the Session
     $this->session->expects($this->once())->method("set")->with("session_flag", true);
     $this->sessionFlagManager->setComplete("providerName", $token);
 }
 /**
  * @test
  */
 public function setComplete_completeTwoFactor_flagIsSetTrue()
 {
     $token = $this->createMock('Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface');
     //Mock the SessionFlagGenerator
     $this->flagGenerator->expects($this->once())->method('getSessionFlag')->with('providerName', $token)->willReturn('session_flag');
     //Mock the Session
     $this->session->expects($this->once())->method('set')->with('session_flag', true);
     $this->sessionFlagManager->setComplete('providerName', $token);
 }
 /**
  * Iterate over two-factor providers and ask for two-factor authentcation.
  * Each provider can return a response. The first response will be returned.
  *
  * @param  \Scheb\TwoFactorBundle\Security\TwoFactor\AuthenticationContext $context
  * @return \Symfony\Component\HttpFoundation\Response|null
  */
 public function requestAuthenticationCode(AuthenticationContext $context)
 {
     $token = $context->getToken();
     // Iterate over two-factor providers and ask for completion
     foreach ($this->providers as $providerName => $provider) {
         if ($this->flagManager->isNotAuthenticated($providerName, $token)) {
             $response = $provider->requestAuthenticationCode($context);
             // Set authentication completed
             if ($context->isAuthenticated()) {
                 $this->flagManager->setComplete($providerName, $token);
             }
             // Return response
             if ($response instanceof Response) {
                 return $response;
             }
         }
     }
     return null;
 }