Example #1
0
 /**
  * @param \League\OAuth2\Server\Entities\AccessTokenEntityInterface $accessToken
  *
  * @return \League\OAuth2\Server\Entities\RefreshTokenEntityInterface
  */
 protected function issueRefreshToken(AccessTokenEntityInterface $accessToken)
 {
     $refreshToken = $this->refreshTokenRepository->getNewRefreshToken();
     $refreshToken->setIdentifier($this->generateUniqueIdentifier());
     $refreshToken->setExpiryDateTime((new \DateTime())->add($this->refreshTokenTTL));
     $refreshToken->setAccessToken($accessToken);
     $this->refreshTokenRepository->persistNewRefreshToken($refreshToken);
     return $refreshToken;
 }
 /**
  * @param \League\OAuth2\Server\Entities\AccessTokenEntityInterface $accessToken
  *
  * @return \League\OAuth2\Server\Entities\RefreshTokenEntityInterface
  */
 protected function issueRefreshToken(AccessTokenEntityInterface $accessToken)
 {
     $maxGenerationAttempts = self::MAX_RANDOM_TOKEN_GENERATION_ATTEMPTS;
     $refreshToken = $this->refreshTokenRepository->getNewRefreshToken();
     $refreshToken->setExpiryDateTime((new \DateTime())->add($this->refreshTokenTTL));
     $refreshToken->setAccessToken($accessToken);
     while ($maxGenerationAttempts-- > 0) {
         $refreshToken->setIdentifier($this->generateUniqueIdentifier());
         try {
             $this->refreshTokenRepository->persistNewRefreshToken($refreshToken);
             return $refreshToken;
         } catch (UniqueTokenIdentifierConstraintViolationException $e) {
             if ($maxGenerationAttempts === 0) {
                 throw $e;
             }
         }
     }
 }