spring-projects / spring-projects/spring-security
Fix remember me functionality
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.6k
- Forks
- 6.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 52
Description
Describe the bug
There are more than 1000 opened issues and some issues are 10 years old down on the list. Some of them are about PersistentTokenBasedRememberMeServices which throws CookieTheftException when parallel requests are fired. I think its time to fix remember me functionality cause now it does not fit real world use cases so it is useless. Or let us know some working solution/configuration if we dont want to store password in cookie via TokenBasedRememberMeServices.
https://github.com/spring-projects/spring-security/issues/2449
https://github.com/spring-projects/spring-security/issues/2253
https://github.com/spring-projects/spring-security/issues/2648
https://github.com/spring-projects/spring-security/issues/3079
https://github.com/spring-projects/spring-security/issues/3801
To Reproduce
Try to renew session with remember me by me making 2 and more parallel requests. It throws CookieTheftException.
Expected behavior
It should renew session for the first request and handle correctly others.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading PersistentTokenBasedRememberMeServices and CookieTheftException, then reproduce the failure with two or more parallel remember-me session-renewal requests. Compare the behavior with the linked issues and define a solution that renews the session for the first request while handling concurrent requests without throwing CookieTheftException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- authentication, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100