Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does use invalidate reset tokens? #37

Closed
stuartpb opened this issue Jun 16, 2015 · 4 comments
Closed

How does use invalidate reset tokens? #37

stuartpb opened this issue Jun 16, 2015 · 4 comments

Comments

@stuartpb
Copy link
Member

Bountysource appears to invalidate tokens on GET (or, at least, they just invalidated the link I got after I signed out and visited it again without resetting).

(Implicit redflag: This is super bad practice since GET requests should be idempotent.)

I'm thinking this should be tracked as password.reset.token.invalidate, with the value being a string (like password.reset.token.login) that describes when the invalidation happens.

@stuartpb stuartpb added this to the future milestone Jun 16, 2015
@stuartpb
Copy link
Member Author

Closing in favor of #70.

@stuartpb
Copy link
Member Author

This was later superseded by a refactor suggested in light of discussion on #52, which introduced password.reset.expiration.trigger (which works similarly to the proposed password.reset.token.invalidate here, but with better coherence with the password.reset.steps array introduced with #70).

@stuartpb
Copy link
Member Author

stuartpb commented Nov 5, 2016

Further lineage: expiration was eventually moved into steps as the expire value as part of the refactor of #127, which was derived from ideas in in #120.

@stuartpb
Copy link
Member Author

stuartpb commented Nov 5, 2016

Regarding this:

(Implicit redflag: This is super bad practice since GET requests should be idempotent.)

I should probably put this somewhere else, but it's kind of not that bad of a practice, when you consider what the attack scenarios against token reuse are. I mean, yes, GET should be idempotent, but... I think only having the latest session to request the given token be allowed to submit is a sensible compromise. (I think I wrote about this somewhere else in this repo, but you want to subsume the token into session via redirect due to potential Referrer header leakage.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant