Improve refresh token security in Login service #1245
Labels
No labels
_CRITICAL_
API
app
backEnd
Blocked, waiting for further changes
bug
cleanup
close
design
duplicate
enhancement
feature request
frontEnd
help wanted
invalid
low priority
needs input
needs review
project documentation
question
research
reviewed
script
security
SQL
style
testing
topLevel
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Andras/BoundlessFlowCampus2K#1245
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Today, a refresh token is removed and or written over in the database on a logout or a refresh.
A more secure method would have been to save each token (for as long as they would be within there life time), and assign each a token family (a shared ID).
This way, an extra security check could be done to check if the token was re-given again later (outside a recommended grace period of 10-30 seconds). For if it happens, then we can't know if each request is made from a hijacker of the account or the actual user. The best thing to do if that happens is to simply log the user out of everything.
The grace period is because if the user has a bad internet connection, the request can then be sent twice or more times.