NEAR Web 3 Authentication
@near-js/biometric-ed25519 package contains interfaces to assist the implementation of biometric driven web3 authentication.
Installation and Usage
The easiest way to use NEAR Web 3 Authentication is to install the biometric-ed25519
package from the NPM registry.
yarn add @near-js/biometric-ed25519
npm install @near-js/biometric-ed25519
Then in your dApp:
import { createKey, getKeys } from "@near-js/biometric-ed25519";
const key = await createKey(userName);
const keys = await getKeys(userName);
As the nature of Elliptic Curve crypto, getKeys
return with two possible public key pairs. In order to select the correct public key pair out of two pairs, it is essential to implement a logic to preserve the public key pair created from createKey
and retrieve them after calling getKeys
and find the right one among the two.
Use Case
-
Check if given user name exist against RPC endpoint.
-
User creates an authentication to browser using biometric finger print with desire user name. (by calling createKey
)
-
Use public key from step 2 to create a near account with given user name.
-
When user come back to authenticate, use getKeys
to retrieve two possible public key pairs.
-
Create near connection with user name
-
Retrieve list of access keys and check if one of public key pairs exist in the list.
-
If exist one is found, it should be used to make the authentication.
License
This repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-MIT and LICENSE-APACHE for details.