Spaces:
No application file
No application file
File size: 1,046 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?php
namespace Mautic\UserBundle\Model\UserToken;
use Mautic\CoreBundle\Helper\RandomHelper\RandomHelperInterface;
use Mautic\UserBundle\Entity\UserToken;
use Mautic\UserBundle\Entity\UserTokenRepositoryInterface;
final class UserTokenService implements UserTokenServiceInterface
{
public function __construct(
private RandomHelperInterface $randomHelper,
private UserTokenRepositoryInterface $userTokenRepository
) {
}
/**
* @param int $secretLength
*
* @return UserToken
*/
public function generateSecret(UserToken $token, $secretLength = 32)
{
do {
$randomSecret = $this->randomHelper->generate($secretLength);
$isSecretUnique = $this->userTokenRepository->isSecretUnique($randomSecret);
} while (false === $isSecretUnique);
return $token->setSecret($randomSecret);
}
/**
* @return bool
*/
public function verify(UserToken $token)
{
return $this->userTokenRepository->verify($token);
}
}
|