Scheb\TwoFactorBundle\Security\TwoFactor\Trusted\TrustedCookieManager::createTrustedCookie PHP Method

createTrustedCookie() public method

Create a cookie for trusted computer.
public createTrustedCookie ( Request $request, mixed $user ) : Cookie
$request Symfony\Component\HttpFoundation\Request
$user mixed
return Symfony\Component\HttpFoundation\Cookie
    public function createTrustedCookie(Request $request, $user)
    {
        $tokenList = $request->cookies->get($this->cookieName, null);
        // Generate new token
        $token = $this->tokenGenerator->generateToken(32);
        $tokenList .= ($tokenList !== null ? ';' : '') . $token;
        $validUntil = $this->getDateTimeNow()->add(new \DateInterval('PT' . $this->cookieLifetime . 'S'));
        // Add token to user entity
        $this->trustedComputerManager->addTrustedComputer($user, $token, $validUntil);
        $domain = null;
        $requestHost = $request->getHost();
        if ($requestHost !== 'localhost') {
            $domain = '.' . $requestHost;
        }
        // Create cookie
        return new Cookie($this->cookieName, $tokenList, $validUntil, '/', $domain, $this->cookieSecure);
    }

Usage Example

 /**
  * @test
  */
 public function createTrustedCookie_localhostSkippedInCookie()
 {
     $request = Request::create('');
     $user = $this->createMock('Scheb\\TwoFactorBundle\\Model\\TrustedComputerInterface');
     $cookie = $this->cookieManager->createTrustedCookie($request, $user);
     $this->assertNull($cookie->getDomain());
 }
All Usage Examples Of Scheb\TwoFactorBundle\Security\TwoFactor\Trusted\TrustedCookieManager::createTrustedCookie