near / near-wallet

Web wallet for NEAR Protocol which stores keys in browser's localStorage
https://wallet.near.org
MIT License
220 stars 176 forks source link

Seed phrase recovery in 2FA #727

Open kcole16 opened 4 years ago

kcole16 commented 4 years ago

Overview

We're planning to make seed phrases full access keys always, even if the user has 2FA/multi-sig enabled. This allows users with 2FA to recover their account with only the seed phrase, even if they don't have access to their 2FA device.

Because of this, we shouldn't assume they still have access to the 2FA device, and should allow them to change their device, if necessary.

Proposed Flow

  1. User enters seed phrase on /recover-seed-phrase
  2. Selects "Find My Account"
  3. User is asked "Do you still have access to: <phone/email>?" a. If yes, user is redirected to home page, "Account successfully recovered" b. If no, user is redirected to "Enable Two Factor Authentication" flow
  4. User sets up new 2FA method, reference is updated in our DB

Acceptance Criteria

kcole16 commented 4 years ago

cc @mattlockyer @Patrick1904