Alternative Authentication

Table of Contents

High-level Specification

Functionality

Details

Functionality

Details

FIO App Account Types

Alternative Account

Sign-in

  • The Sign-in and Account creation process is transparent to the user

  • Process

    • User signs a nonce using FIO Public Key for index 0

    • FIO App fetch FIO Public Key for index 0

    • Create Account - if FIO Public Key is not associated to an account, create account

    • Log user in

Sign Transaction

  • Transaction signing occurs in specific wallet

  • Transaction json should be shown

Metamask SNAP

Overview

Metamask Snap is an extension of Metamask browser plug-in, which allows for new functionality, e.g. ability to sign transactions on a non-EVM chain.

The FIO Snap allows Metamask users to gain access to the FIO App and execute transactions without having to create an account, which requires email and password.

Sign-in Flow

Sign Transaction Flow

Functionality

Visual

Functionality

Visual

Functionality

SNAP Home Page

No FIO Handle and No FIO Tokens and No Pending FIO Requests

image-20240422-164358.png

1+ FIO Handles and >0 FIO Tokens and 1+ FIO Requests

image-20240422-171619.png

Authenticate

 

  • Set-up SNAP

    • Install FIO SNAP

    • Grant SNAP Permissions

  • Sign-in

    • Have user sign nonce with FIO Private Key

      • SNAP Message

        • Title: Sign-in to FIO App

        • Description:
          Please approve this nonce signature to sign-in to the FIO App. Nonce signature proves that you are the owner of the associated FIO Public Key.
          ------------------------------------
          Random nonce: XXX

  • If user rejects any of these steps display error message

Sign Transaction

 

 

  • Trigger transaction sign in Metamask

  • SNAP Message

    • Title: Sign FIO Transaction

    • Description:
      Please approve the following transaction.
      Transaction name: trnsfiopubky
      ------------------------------------
      FIO Chain: FIO Mainnet
      ------------------------------------
      Transaction details:
      tpid: dashboard@fiouat
      max_fee: 1500000000000
      amount: 100000000000000
      payee_public_key: FIO68bYHgYTqc17jz9MuprzvUY9D7Ud9UmLzruiNiFGkaHMZNUDv5

Decrypt Content

  • When decrypting content of FIO Request or FIO Data, trigger decrypt content transaction in Metamask. If

  • SNAP Message

    • Title: Decrypt FIO Data

    • Description:
      Please approve the decryption of FIO Data. For your security and privacy, FIO Data is always encrypted and has to be decrypted before viewing.

Sign out

 

  • Replace Sign out with Disconnect button with icon

Opera

Visual

Functionality

Visual

Functionality

Authenticate

 

  • Sign-in

    • Have user sign nonce with FIO Private Key

  • If user rejects any of these steps display error message

Sign Transaction

  • Trigger transaction sign in Opera

Sign out

 

  • Replace Sign out with Disconnect button with icon