Renommer plainPassword en password
Nous avions un payload avec password
et nous avons dû créer une nouvelle clé plainPassword
pour encoder notre mot de passe.
En utilisant SerializedName
nous pouvons renommer notre clé dans le payload, ainsi
{
"email": "{{$randomEmail}}",
"plainPassword": "P@sswordS3cure"
}
deviendra
{
"email": "{{$randomEmail}}",
"password": "P@sswordS3cure"
}
tout en gardant notre logique dans notre UserDataPersister. Pour ce faire il faut se rendre dans notre entité User et rajouter @SerializedName("password")
à l'attribut $plainPassword`
use Symfony\Component\Serializer\Annotation\SerializedName;
// ...
/**
* @SerializedName("password")
* @Groups("user:item:post")
*
* @Assert\NotBlank(groups={"create"})
* @Assert\Length(
* min = 8,
* max = 32,
* minMessage = "Your password must be at least {{ limit }} characters long",
* maxMessage = "Your password cannot be longer than {{ limit }} characters"
* )
* @Assert\Regex(
* "/^.*(?=.{8,})((?=.*[!@#$%^&*()\-_=+{};:,<.>]){1})(?=.*\d)((?=.*[a-z]){1})((?=.*[A-Z]){1}).*$/",
* message = "Your password needs an uppercase, a lowercase, a digit and a special character"
* )
*/
private $plainPassword;
Maintenant notre payload avec la clé password
fonctionne
{
"email": "{{$randomEmail}}",
"password": "P@sswordS3cure"
}
prev
next
Commentaires
Connectez-vous pour laisser un commentaire