JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 43
  • Score
    100M100P100Q61351F
  • License ISC

A WebAuthn library implementing password-based key derivation functions (PRF) for secure authentication and encryption

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@adorsys-gis/web-auth-prf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    WebAuthn PRF Example

    A lightweight TypeScript library that implements WebAuthn with PRF (Pseudo-Random Function) for secure authentication and encryption. This package allows users to register, authenticate, and encrypt/decrypt messages using derived keys.

    Installation

    Install the package using npm:

    # npm install webauthn-prf-example

    Usage

    Register a User

    To register a new user, call the handleRegister function:

    // import { handleRegister } from "webauthn-prf-example";
    
    document.getElementById("registerBtn").addEventListener("click", async () => {
      await handleRegister();
    });

    Authenticate a User

    To authenticate an existing user, call the handleAuthenticate function:

    // import { handleAuthenticate } from "webauthn-prf-example";
    
    document
      .getElementById("authenticateBtn")
      .addEventListener("click", async () => {
        await handleAuthenticate();
      });

    Save and Load Messages

    To save and retrieve encrypted messages, use the saveMessage and loadMessages functions:

    // import { saveMessage } from "webauthn-prf-example";
    
    document
      .getElementById("saveMessageBtn")
      .addEventListener("click", async () => {
        await saveMessage();
      });

    Logout

    To log out and clear stored credentials and messages, use the handleLogout function:

    // import { handleLogout } from "webauthn-prf-example";
    
    document.getElementById("logoutBtn").addEventListener("click", async () => {
      await handleLogout();
    });

    API

    handleRegister()

    Registers a new user with WebAuthn and securely stores authentication credentials.

    handleAuthenticate()

    Authenticates a registered user using WebAuthn credentials.

    saveMessage()

    Encrypts and saves a message using the derived encryption key.

    loadMessages()

    Loads and decrypts saved messages.

    handleLogout()

    Clears stored credentials and messages, effectively logging out the user.

    For more details, check out the official WebAuthn documentation: MDN WebAuthn Docs.