beginAuthentication() public method

Begin the two-factor authentication process.
public beginAuthentication ( Scheb\TwoFactorBundle\Security\TwoFactor\AuthenticationContextInterface $context )
$context Scheb\TwoFactorBundle\Security\TwoFactor\AuthenticationContextInterface
コード例 #1
0
 /**
  * Check if user is on a trusted computer, otherwise call TwoFactorProviderRegistry.
  *
  * @param AuthenticationContextInterface $context
  */
 public function beginAuthentication(AuthenticationContextInterface $context)
 {
     $request = $context->getRequest();
     $user = $context->getUser();
     $context->setUseTrustedOption($this->useTrustedOption);
     // Skip two-factor authentication on trusted computers
     if ($context->useTrustedOption() && $this->cookieManager->isTrustedComputer($request, $user)) {
         return;
     }
     $this->authHandler->beginAuthentication($context);
 }
コード例 #2
0
 /**
  * Listen for successful login events
  *
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     // Check if security token is supported
     $token = $event->getAuthenticationToken();
     if (!$this->isTokenSupported($token)) {
         return;
     }
     // Forward to two-factor providers
     // They decide if they will do two-factor authentication
     $context = new AuthenticationContext($request, $token);
     $this->authHandler->beginAuthentication($context);
 }
コード例 #3
0
 /**
  * Listen for successful login events.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     // Skip two-factor authentication for whitelisted IPs
     if (in_array($request->getClientIp(), $this->ipWhitelist)) {
         return;
     }
     // Check if security token is supported
     $token = $event->getAuthenticationToken();
     if (!$this->isTokenSupported($token)) {
         return;
     }
     // Forward to two-factor providers
     // They decide if they will do two-factor authentication
     $context = $this->authenticationContextFactory->create($request, $token);
     $this->authHandler->beginAuthentication($context);
 }