J'ai une nouvelle installation de Drupal 8.6.13, tout par défaut sans thèmes ni modules personnalisés. Il a été créé via:
drupal-composer/drupal-project:8.x-dev
avec le drupal site:new
commande.
Lorsque j'utilise un lien de connexion unique, j'obtiens une erreur d'accès refusé 403 car les données de session (horodatage et hachage) sont perdues sur la redirection à partir de UserController::resetPass
à UserController::getResetPassForm
.
Voici le code source pour référence: https://api.drupal.org/api/drupal/core%21modules%21user%21src%21Controller%21UserController.php/8.6.x
Lorsque j'enregistre les variables de session lorsqu'elles sont créées dans resetPass
, elles sont stockées et s'affichent correctement.
Lorsque j'enregistre ensuite les variables de session sur getResetPassForm
, elles ne sont plus là. Cela provoque l'exécution du code suivant qui renvoie le 403:
if (!$hash || !$timestamp) {
throw new AccessDeniedHttpException();
}
Je ne sais pas s'il s'agit d'un problème Drupal ou Symfony ou quoi.
Tout a bien fonctionné sur les versions précédentes de Drupal 8.6.x. J'ai remarqué le problème lors de la mise à niveau de 8.6.8 vers 8.6.13. J'ai maintenant testé avec juste une nouvelle installation de 8.6.13 et je vois ce problème.
Le serveur est Nginx.
Des idées?
Il s'agit d'un problème avec symfony/http-foundation v3.4.24. Voir https://www.drupal.org/project/drupal/issues/3045844 .