otio-llc / security

Advanced security solutions for custom enterprise web applications
MIT License
1 stars 0 forks source link

feat: add backend and frontend packages for iValt biometrics #10

Closed KingOfTac closed 1 year ago

KingOfTac commented 1 year ago

Pull Request

Description

This PR adds two packages:

  1. @trans-stat/node-mfa contains a simple backend wrapper around iValt's MFA API. The implementation is a simple javascript class that can be instantiated with an iValt API key. The implementation tries to be a simple as possible so that it is easy to extend and integrate with any node.js framework.
  2. @trans-stat/auth-components is a library of FAST components for easy drop in user authentication UX patterns. Right now this library contains a single <mfa-card> component that is intended to be used with the node-mfa backend package. This library will be expanded overtime with more UX patterns related to user authentication.

Issues

Reviewer Notes

Test Plan

Checklist

General

Next Steps

Next steps are:

  1. Create a MFA backend package for adding traditional 2FA and MFA capabilities to applications This will be added to the node-mfa package
  2. Add stackblitz examples demonstrating setting up the backend package with various backend frameworks
  3. Add stackblitz examples demonstrating advanced usage of the frontend components and how to customize the Web Components.
  4. Add documentation on how to enable vscode intellisense for the Web Components in html and css files. done
KingOfTac commented 1 year ago

@bentomands added you as a reviewer to double check formatting and information in the documentation. Here's a list of the files to check:

KingOfTac commented 1 year ago

@awentzel I renamed the backend package to be more generic so that other MFA service and API wrappers can live there in addition to the iValt wrapper. I also renamed the frontend component to be more generic and am planning on more changes to the component's API in the near future that will enable it to be used for a wider variety of scenarios.

I also added a wildcard export to the backend package so that specific wrappers can be imported and the rest tree shaken out if needed (note this is only if the application is using ESM since the CommonJS version is bundled only)