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

Changing Customer email address #87

Closed
michaelbromley opened this issue Apr 9, 2019 · 0 comments
Closed

Changing Customer email address #87

michaelbromley opened this issue Apr 9, 2019 · 0 comments

Comments

@michaelbromley
Copy link
Member

Currently if a Customer edits their details via the updateCustomer mutation of the Shop API, the emailAddress field is just patched and updated in the same way as any other field.

Due to the special importance of the emailAddress as the key to the account, additional process is required before allowing a change.

A good discussion can be found here: https://softwareengineering.stackexchange.com/questions/165552/what-is-the-best-policy-for-allowing-clients-to-change-email

In short, the process should go something like this:

  1. Customer enters new email address.
  2. (if requireVerification is set to true) A verification email is sent to the new address
  3. Clicking the link in the email completes the process
  4. A notification is sent to the old email address in case of a compromised account.

Question: What happens if, after step 2, the customer logs out and then attempts to log in again? Which emailAddress is the valid one? I'd suggest that the old one remains valid until the new one has been verified.

@michaelbromley michaelbromley added this to To do in Beta via automation Apr 9, 2019
@michaelbromley michaelbromley moved this from To do to In progress in Beta Apr 9, 2019
Beta automation moved this from In progress to Done Apr 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Beta
  
Done
Development

No branches or pull requests

1 participant