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 Authentication API allows you to strengthen your web application security with multifactor authentication (MFA), working seamlessly with various authentication such as fingerprint readers, card readers, cameras for face recognition, FIDO tokens, OTP tokens, as well as with traditional credentials like passwords, PINs and Security Questions.
Dependencies
The library depends on the:
- DigitalPersona Web Services API
- DigitalPersona Core API
It also requires the DigitalPersona Web Components and DigitalPersona Authentication Server running in your security domain.
Some authentication tokens (fingerprints, cards, U2F, Integrated Windows Authentication) require the DigitalPersona Device Access API to read authentication data from a device and pass it to the Web Authentication API.
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');