near / near-wallet

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

Multi-Device Support #422

Open kcole16 opened 4 years ago

kcole16 commented 4 years ago

Overview

Users will likely access the web wallet from multiple devices. This transition should be both seamless and secure.

Stories

As a user, I want to use the NEAR wallet on multiple devices, so I can easily access NEAR applications on desktop and mobile.

As a user, I want to set limits on my transaction amounts, requiring two factor authentication above the limits, so I can use the web wallet to safely store $100-$1000 worth of assets.

Flows

Desktop to Mobile Flow

  1. User selects “Add a new mobile device” on desktop
  2. Signs a transaction creating a new full access key
  3. Scans QR code with mobile device (URL w/ full access private_key)
  4. Redirected to “New Device Confirmation” screen on mobile device
  5. Selects “Complete Device Setup”
    • Send batch transaction adding new full access key and removing full access key contained in the URL
  6. Redirected to “Profile”

Mobile to Desktop Flow

  1. User selects “Already have an account? Add this device” on desktop
  2. Redirected to “Add Device” page on desktop
  3. Selects “Add this device”, QR code generated
  4. Scans QR code on mobile device Scans QR code with mobile device (URL w/ public_key)
  5. Confirms “Add device”, signs a transaction creating a full access key using the public_key from the QR code
  6. Redirected to “New Device Confirmation” screen on mobile device
  7. Selects “Complete Device Setup”
ilblackdragon commented 4 years ago

I want to also add that right now it's unclear which devices which keys are from. e.g. in the list of Full Access Keys - which one is the key in the wallet UI vs keys from somewhere else.