Overview
DigitalPersona Access Management (DPAM) is a suite of services and APIs helping you to accomplish typical access management tasks like user credential enrollment, identification, authentication, identity claims issuance, access policy management etc.
As a part of DPAM, the DigitalPersona Web Enrollment API allows you to strengthen your web application security with multifactor authentication (MFA) seamlesly working with various authentication devices like fingerprint readers, card readers, cameras for face recognition, FIDO tokens, OTP tokens, as well as with traditional credentials like password, PIN or security questions.
This library provides an API for enrollment of user credentials from a web browser.
Dependencies
The library depends on
- DigitalPersona Web Services API
- DigitalPersona Core API
It also requires DigitalPersona Web Components and DigitalPersona Authentication Server running in your security domain.
Some authentication tokens (fingerprints, cards, U2F, Integrated Windows Authentication) require DigitalPersona Device Access API to read enrollment data from a device and pass it the DPAM Web Enrollment.
Requirements
- Evergreen browsers:
- Chromium-based
- Firefox
- Edge
- Legacy browsers (shims required):
- IE11
- Node JS (shims required).
The library is distributed in following forms:
- TypeScript (code and typings)
- transpiled ES5 (unbundled and bundled UMD module)
- transpiled ES6 (unbundled and bundled UMD module)
Browser support
The library uses ES6 Promise
API for asynchronous calls. If it is used in older browsers, you have to provide a “shim” adding the Promise
API to your target browser.
The library uses ES6 fetch
API for HTTP connection. If it is used in older browsers, you have to provide a “shim” adding the fetch
API to your target browser.
Node JS support
Node JS requires a “shim” for atob
and btoa
functions, for example:
const base64 = require('base-64');
global.btoa = function(s) { return base64.encode(s); }
global.atob = function(s) { return base64.decode(s); }
The library uses ES6 fetch
API for HTTP connection. If it is used in Node JS, you have to provide a “shim” adding the fetch
API to NodeJS, for example a node-fetch by David Frank:
global.fetch = require('node-fetch');