RefreshToken
in package
Jeton de rafraîchissement JWT permettant à l'API mobile de renouveler une session sans ré-authentification.
Créé, validé, révoqué et purgé exclusivement par le service
RefreshTokenService : aucun autre code du projet n'instancie
RefreshToken. Le rattachement au compte se fait par username, qui stocke l'e-mail de
l'utilisateur plutôt que de passer uniquement par la relation user — changer l'e-mail d'un
utilisateur invalide donc de fait ses jetons existants. La politique appliquée par le service
est celle d'un jeton unique par utilisateur, les précédents étant révoqués à chaque nouvelle
émission. valid porte la date d'expiration, calculée à la création à partir du TTL du
service (2 592 000 secondes, soit 30 jours, par défaut) ; isValid() est un champ dérivé qui
la compare à l'instant présent. Les jetons expirés ne sont pas purgés automatiquement par une
tâche planifiée : ils sont supprimés soit lors d'une tentative de validation qui échoue
(RefreshTokenService::validateRefreshToken()), soit via l'appel explicite de
RefreshTokenService::cleanExpiredTokens().
Attributes
- #[Entity]
- $repositoryClass: 'App\Repository\RefreshTokenRepository'
- #[Table]
- $name: 'refresh_tokens'
Table of Contents
Properties
Methods
- getId() : int|null
- getRefreshToken() : string
- getUser() : User|null
- getUsername() : string
- getValid() : DateTime
- isValid() : bool
- setRefreshToken() : self
- setUser() : self
- setUsername() : self
- setValid() : self
Properties
$id
private
int|null
$id
= null
Attributes
- #[Column]
- $type: 'integer'
- #[GeneratedValue]
- #[Id]
$refreshToken
private
string
$refreshToken
Attributes
- #[Column]
- $type: 'string'
- $length: 128
- $unique: true
$user
private
User|null
$user
= null
Attributes
- #[JoinColumn]
- $name: 'user_id'
- $referencedColumnName: 'id'
- $onDelete: 'CASCADE'
- #[ManyToOne]
- $targetEntity: \App\Entity\User::class
$username
private
string
$username
Attributes
- #[Column]
- $type: 'string'
- $length: 255
$valid
private
DateTime
$valid
Attributes
- #[Column]
- $type: 'datetime'
Methods
getId()
public
getId() : int|null
Return values
int|nullgetRefreshToken()
public
getRefreshToken() : string
Return values
stringgetUser()
public
getUser() : User|null
Return values
User|nullgetUsername()
public
getUsername() : string
Return values
stringgetValid()
public
getValid() : DateTime
Return values
DateTimeisValid()
public
isValid() : bool
Return values
boolsetRefreshToken()
public
setRefreshToken(string $refreshToken) : self
Parameters
- $refreshToken : string
Return values
selfsetUser()
public
setUser(User|null $user) : self
Parameters
- $user : User|null
Return values
selfsetUsername()
public
setUsername(string $username) : self
Parameters
- $username : string
Return values
selfsetValid()
public
setValid(DateTime $valid) : self
Parameters
- $valid : DateTime