web-dev-qa-db-fra.com

Gardez les utilisateurs connectés aussi longtemps que je le souhaite

J'implémente une application Web Kiosk basée sur WordPress et j'ai quelques conditions qui sont essentielles, elles fonctionnent selon que l'utilisateur est connecté ou non.

Je suis conscient qu'après que l'utilisateur clique sur "Remember me", il restera connecté pendant 14 jours.

Cependant, je souhaite que les utilisateurs restent connectés le plus longtemps possible après s'être connectés via le kiosque.

Je pensais peut-être 1 mois.

Y at-il une limite à combien de temps je peux définir? Puis-je régler pour 2 mois? 3 mois? 4 mois? Je sais qu'un cookie peut durer plus de 10 ans, mais je ne suis pas sûr que WP ait ses propres limites à cet égard.

J'ai également trouvé un extrait de code pour m'aider à configurer cela, mais je ne sais pas comment savoir si cela fonctionne, l'article sur lequel je l'ai trouvé date de 2 ans ...

// keep users logged in for longer in wordpress
function wcs_users_logged_in_longer( $expirein ) {
    // 1 month in seconds
    return 2628000;
}
add_filter( 'auth_cookie_expiration', 'wcs_users_logged_in_longer' );

Je vous remercie.

4
Uriahs Victor

Ce que vous avez trouvé est en réalité parfaitement exact. Avec l'engagement de WP en matière de compatibilité ascendante, il n'est pas courant que des choses s'arrêtent de fonctionner.

Ce filtre est utilisé dans wp_set_auth_cookie() pour calculer la durée. La valeur résultante est utilisée dans setcookie() .

Il n'y a aucune mention de limites spécifiques dans la documentation, donc, dans la pratique, la valeur est limitée à une plage entière pour l'horodatage Unix (pratiquement au moment actuel - année 2038 donnée ou acceptée).

Vous êtes donc plutôt sur le côté WP, mais je voudrais aussi voir comment les navigateurs le gèrent. Je ne pense pas avoir entendu parler de délais d'expiration très longs utilisés dans la pratique en dehors du développement. Donc, ce n'est pas un sujet bien traité.

3
Rarst

Je sais que cette question est ancienne, mais au cas où quelqu'un tomberait dessus (comme je l'ai fait).

J'ai récemment eu le même problème de vouloir garder les utilisateurs connectés à WP, j'ai donc créé un plugin pour le faire.

Jetez un coup d'oeil, j'espère que cela vous aidera: https://wordpress.org/plugins/wp-persistent-login/

0
lukeseager