vendor/gesdinet/jwt-refresh-token-bundle/Entity/AbstractRefreshToken.php line 20

Open in your IDE?
  1. <?php
  2. /*
  3. * This file is part of the GesdinetJWTRefreshTokenBundle package.
  4. *
  5. * (c) Gesdinet <http://www.gesdinet.com/>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Gesdinet\JWTRefreshTokenBundle\Entity;
  11. use Symfony\Component\Validator\Constraints as Assert;
  12. use Gesdinet\JWTRefreshTokenBundle\Model\RefreshTokenInterface;
  13. /**
  14. * Abstract Refresh Token.
  15. */
  16. abstract class AbstractRefreshToken implements RefreshTokenInterface
  17. {
  18. /**
  19. * @var string
  20. *
  21. * @Assert\NotBlank()
  22. */
  23. private $refreshToken;
  24. /**
  25. * @var string
  26. *
  27. * @Assert\NotBlank()
  28. */
  29. private $username;
  30. /**
  31. * @var \DateTime
  32. *
  33. * @Assert\NotBlank()
  34. */
  35. private $valid;
  36. /**
  37. * {@inheritdoc}
  38. */
  39. abstract public function getId();
  40. /**
  41. * Set refreshToken.
  42. *
  43. * @param string $refreshToken
  44. *
  45. * @return AbstractRefreshToken
  46. */
  47. public function setRefreshToken($refreshToken = null)
  48. {
  49. $this->refreshToken = null === $refreshToken
  50. ? bin2hex(openssl_random_pseudo_bytes(64))
  51. : $refreshToken;
  52. return $this;
  53. }
  54. /**
  55. * Get refreshToken.
  56. *
  57. * @return string
  58. */
  59. public function getRefreshToken()
  60. {
  61. return $this->refreshToken;
  62. }
  63. /**
  64. * Set valid.
  65. *
  66. * @param \DateTime $valid
  67. *
  68. * @return AbstractRefreshToken
  69. */
  70. public function setValid($valid)
  71. {
  72. $this->valid = $valid;
  73. return $this;
  74. }
  75. /**
  76. * Get valid.
  77. *
  78. * @return \DateTime
  79. */
  80. public function getValid()
  81. {
  82. return $this->valid;
  83. }
  84. /**
  85. * Set username.
  86. *
  87. * @param string $username
  88. *
  89. * @return AbstractRefreshToken
  90. */
  91. public function setUsername($username)
  92. {
  93. $this->username = $username;
  94. return $this;
  95. }
  96. /**
  97. * Get username.
  98. *
  99. * @return string
  100. */
  101. public function getUsername()
  102. {
  103. return $this->username;
  104. }
  105. /**
  106. * Check if is a valid refresh token.
  107. *
  108. * @return bool
  109. */
  110. public function isValid()
  111. {
  112. return $this->valid >= new \DateTime();
  113. }
  114. /**
  115. * @return string Refresh Token
  116. */
  117. public function __toString()
  118. {
  119. return $this->getRefreshToken();
  120. }
  121. }