@near-js/biometric-ed25519
v1.3.1
Published
JavaScript library to handle webauthn and biometric keys
Downloads
418
Readme
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.
# Using Yarn
yarn add @near-js/biometric-ed25519
# Using NPM.
npm install @near-js/biometric-ed25519
Then in your dApp:
import { createKey, getKeys } from "@near-js/biometric-ed25519";
// To register with userName
const key = await createKey(userName);
// To retrieve keys with 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.