Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 4.1] Remember Me voit son cookie supprimé

Composant Security

    22 septembre 2018 à 17:01:24

    Bonjour,

    je débute dans Symfony, j'ai suivi un tutoriel permettant de créer un espace de connexion, maintenant je souhaite pousser le code en ajouter la fonctionnalité "Se souvenir de moi".

    Cette page de la doc Symfony explique comment s'y prendre.

    J'ai ajouté l'option remember_me du pare-feu (security.yaml) ainsi que la checkbox sur mon formulaire de connexion.

    Voici ce que je constate : si je coche la checkbox sur le formulaire de connexion, le cookie REMEMBERME se crée bien avec la durée d'une semaine.

    Si je quitte complètement le navigateur (pour fermer la session) et le réouvre sur une page du site, le cookie voit son contenu supprimé ainsi que sa date d'expiration modifiée (date de création = date de suppression), j'actualise et il disparaît de la liste des cookies.

     security.yaml
    security:
        encoders:
            App\Entity\User:
                algorithm: bcrypt
    
        # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
        providers:
            in_memory: { memory: ~ }
            in_database:
                entity:
                    class: App\Entity\User 
                    property: email
        firewalls:
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
            main:
                anonymous: true
    
                provider: in_database
    
                form_login: 
                    login_path: security_login
                    check_path: security_login
    
                logout:
                    path: security_logout
                    target: blog
    
                remember_me:
                    secret:   '%kernel.secret%'
                    lifetime: 604800 # 1 week in seconds
                    path:     /
    
                # activate different ways to authenticate
    
                # http_basic: true
                # https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
    
                # form_login: true
                # https://symfony.com/doc/current/security/form_login_setup.html
    
        # Easy way to control access for large sections of your site
        # Note: Only the *first* access control that matches will be used
        access_control:
            # - { path: ^/admin, roles: ROLE_ADMIN }
            # - { path: ^/profile, roles: ROLE_USER }
    
     login.html.twig
    {% extends 'base.html.twig' %}
    
    {% block title %}Connexion{% endblock %}
    
    {% block body %}
    
        <h1>Connexion</h1>
    
        <form action="{{ path('security_login') }}" method="post">
            <div class="form-group">
                <input type="email" name="_username" placeholder="Adresse email ..." class="form-control" required />
            </div>
            <div class="form-group">
                <input type="password" name="_password" placeholder="Mot de passe ..." class="form-control" required />
            </div>
            <div class="form-group">
                <input type="checkbox" id="remember_me" name="_remember_me" checked />
                <label for="remember_me">Se souvenir de moi</label>
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-success" name="login">Connexion</button>
            </div>
        </form>
    
    {% endblock %}
    Ma version symfony est la 4.1.4. Je vous remercie ! :) Les sujets que j'ai trouvé sur internet ne portent pas sur ce problème là.

    -
    Edité par -Steven 22 septembre 2018 à 17:22:00

    • Partager sur Facebook
    • Partager sur Twitter

    Discord d'entraide symfony

    Soldat du code et enfant de la technologie.

      24 septembre 2018 à 15:28:20

      Up
      • Partager sur Facebook
      • Partager sur Twitter

      Discord d'entraide symfony

      Soldat du code et enfant de la technologie.

      [Symfony 4.1] Remember Me voit son cookie supprimé

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown