Skip to content
This repository has been archived by the owner on Apr 3, 2019. It is now read-only.

Add the notion of an "invalid email" state to an account #721

Closed
4 tasks
ckarlof opened this issue May 16, 2014 · 6 comments
Closed
4 tasks

Add the notion of an "invalid email" state to an account #721

ckarlof opened this issue May 16, 2014 · 6 comments

Comments

@ckarlof
Copy link
Contributor

ckarlof commented May 16, 2014

Currently when a user's email bounces hard, we delete the account. This is reasonable, but the user will start to get some confusing errors on the client side as a side effect.

I propose that in reaction to hard email bounces we instead put the account in an "invalid email" state, and change some our APIs to account for this disabled state:

  • Change /account/status to return { exists: <bool>, state: <state> }, where if exists is true, then state describes what state it is in.
  • Change the /account/create, /account/login, /account/destroy, /password/change/start and /password/forgot/send_code to return a 400/107 error indicating a "invalid email" when the user tries to interact with an account in this state. This would signal to clients that they should check /account/status for further clarification. This is not ideal, but it's perhaps the best we can do without introducing new error codes and be backwards compatible with existing client code.
  • Accounts in the "invalid" state should return a 400/110 for authenticated calls.
  • After some time period (a day? a week or two?) we delete accounts in the "invalid" email state

Gecko code to support /account/status has already landed, and will need to be updated to support this new state. However, these changes should be backwards compatible with the explicit deletion case.

This will also help with #714.

@ckarlof
Copy link
Contributor Author

ckarlof commented May 16, 2014

Bug for Desktop/B2G support of these changes: https://bugzilla.mozilla.org/show_bug.cgi?id=1011773

@ckarlof
Copy link
Contributor Author

ckarlof commented May 16, 2014

/cc @ncalexan

@pdehaan pdehaan added this to the train-14 (Jun 2) milestone May 20, 2014
@dannycoates dannycoates modified the milestones: train-15 (Jun 16), train-14 (Jun 2) Jun 2, 2014
@dannycoates dannycoates modified the milestones: train-16 (Jun 30), train-15 (Jun 16) Jun 17, 2014
@pdehaan pdehaan modified the milestones: train-17 (Jul 14), train-16 (Jun 30) Jun 24, 2014
@ckarlof ckarlof modified the milestones: 2014 Q3 (Sep 30), train-17 (Jul 14) Jul 1, 2014
@rfk rfk self-assigned this Oct 22, 2014
@rfk rfk added waffle:ready and removed backlog labels Oct 22, 2014
@rfk rfk added z-later and removed waffle:ready labels Mar 9, 2015
@rfk rfk removed their assignment Mar 9, 2015
@rfk rfk removed this from the 2014 Q3 (Sep 30) milestone Jun 3, 2015
@vladikoff
Copy link
Contributor

Got here via triage,

@rfk should we keep this open?

@rfk
Copy link
Contributor

rfk commented Oct 9, 2015

Let's keep it open for now, and revisit it as part of the multi-email work.

@vladikoff
Copy link
Contributor

cc @rfk , should we move it to fxa-features or close?

@rfk
Copy link
Contributor

rfk commented Oct 4, 2016

Closing, I'll pitch this into our features pipeline and we can take a fresh look at it

@rfk rfk closed this as completed Oct 4, 2016
@rfk rfk removed the waffle:backlog label Oct 4, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants