User authorization
Wallet supports two types of user authorization: Webauthn
and Raiseauthn
-
Webauthn
is a protocol supported by modern browsers. It usepasskeys
to sign data: device requests fingerprint or system pin entering to sign the transaction. Signature is validated on blockchain. This method is supported by most of modern devices with some exceptions. Preferred auth method -
Raiseauthn
is the method used ifwebauthn
is not supported by device. It works in the way likemetamask
: during wallet creation pin is requested that is used to encrypt wallet. When user opens his wallet, pin is requested. Wallet is decrypted inside service worker and used to sign transaction and return signature back to application. Because service worker data stored in memory until browser is closed, user may not enter pin every time even if he opened other application
Wallet smartcontract has support for both signing alogorithms verification