Forgot Password Email ↓ Generate temporary token ↓ Send reset link ↓ User opens link ↓ New password ↓ Invalidate token Remember Token expiry One-time use Never email the password itself Password hashing again