ttl和keepAlive功能存在bug
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, node.js
- Ambito
- authentication
Direzione di ricerca
Inizia tracciando i punti di ingresso di ttl e keepAlive descritti nel report e riproduci entrambi gli scenari dei cookie: abilitarli dopo un accesso già effettuato e disconnettere l’utente A prima di accedere con l’utente B. Il lavoro è completato quando il cookie precedente viene eliminato prima che ne venga scritto uno nuovo e una risposta keepAlive ritardata non può ripristinare un utente disconnesso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Runtime
nodejs chrome
Runtime version
node 20.18.0
Module version
12.0.1
Last module version without issue
No response
Used with
No response
Any other relevant information
No response
What are you trying to achieve or the steps to reproduce?
如果没有启用ttl之前用户登录写入了一条cookie,启用ttl和keepalive之后,会再写入一条cooke且不会清除上一条cookie,此时会存在两条cookie,且会读取到旧的cookie导致用户无法登录,keepAlive写入之前可能要unstate一下
keepalive还存在一个问题,如果用户a登出,再登录用户b,结果登录的还是用户a。因为异步响应有延迟,可能导致a登出后清除的cookie被服务器延迟响应的keepAlive重新写入,于是a又被登录了
"If a user logs in and writes a cookie before enabling ttl, after enabling ttl and keepAlive, another cookie will be written without clearing the previous one, resulting in two cookies being present. This can lead to the old cookie being read, preventing the user from logging in. It might be necessary to unset the previous state before writing with keepAlive.
There is also an issue with keepAlive: if user A logs out and then user B logs in, user A remains logged in. This is because the asynchronous response delay can cause the cookie cleared upon A's logout to be overwritten by a delayed server response for keepAlive, effectively logging user A back in again."
- Lingua principale
- JavaScript
- Stelle
- 229
- Fork
- 99
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di hapijs/cookie
-
support
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
support
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
support
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
-
support
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Tutte le issue di hapijs/cookie
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
obsidianmd/obsidian-help#1169 ·
I maintainer di solito rispondono entro 2 giorni
-
[docs] RELEASE.md: wrong branch name, no check that the prepare PR merged with the right subject, manual publish stepForse già presa @albertteoh l’ha presa oggi. Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
jaegertracing/jaeger-ui#4739 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
keepassxreboot/keepassxc-browser#3159 · 1 commento ·
-
Add: ESP 2 RSApertaapproved check:passed feeds:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 67/100